xf86AddBusDeviceToConfigure(): Store device in DevToConfig[i].pVideo
After fc3ab84d the pVideo field in DevToConfig[i] is no longer
initialized, so it's always NULL. This causes the duplicate finding
algorithm in the beginning of the function to not work anymore as it
is based on this field.
The symptom of this bug is that X -configure reports
    Number of created screens does not match number of detected devices.
      Configuration failed.
    Server terminated with error (2). Closing log file.
rather than producing a working config file.
This patch fixes that bug by initializing the field before calling
xf86PciConfigureNewDev().
Cc: tvignatti@gmail.com
Signed-off-by: Soren Sandmann <ssp@redhat.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
			
			
This commit is contained in:
		
							parent
							
								
									95bf478b78
								
							
						
					
					
						commit
						55246b67b7
					
				| 
						 | 
				
			
			@ -123,12 +123,14 @@ xf86AddBusDeviceToConfigure(const char *driver, BusType bus, void *busData,
 | 
			
		|||
    switch (bus) {
 | 
			
		||||
#ifdef XSERVER_LIBPCIACCESS
 | 
			
		||||
    case BUS_PCI:
 | 
			
		||||
	DevToConfig[i].pVideo = busData;
 | 
			
		||||
        xf86PciConfigureNewDev(busData, DevToConfig[i].pVideo,
 | 
			
		||||
                               &DevToConfig[i].GDev, &chipset);
 | 
			
		||||
        break;
 | 
			
		||||
#endif
 | 
			
		||||
#if (defined(__sparc__) || defined(__sparc)) && !defined(__OpenBSD__)
 | 
			
		||||
    case BUS_SBUS:
 | 
			
		||||
	DevToConfig[i].sVideo = busData;
 | 
			
		||||
        xf86SbusConfigureNewDev(busData, DevToConfig[i].sVideo,
 | 
			
		||||
                                &DevToConfig[i].GDev);
 | 
			
		||||
        break;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue