On Thu, Apr 1, 2010 at 9:39 AM, Stefan Assmann <[email protected]> wrote: > From: Stefan Assmann <[email protected]> > > Parsing the BIOSConnectorTable created some bogus entries > with an output_id of 0 (mobility radeon x700). That caused > RADEONLookupGPIOLineForDDC to generate uninitalized i2c entries, > which finally provoked a segfault in RADEONI2CDoLock. To prevent > this add a check for that skips output_ids of 0.
Already fixed in: http://cgit.freedesktop.org/xorg/driver/xf86-video-ati/commit/?id=476a1c6e8b42807b897b8c6f8550ec42b2d5c10e Alex > > Program received signal SIGSEGV, Segmentation fault. > RADEONI2CDoLock (output=0x82548e0, b=0x8254b18, lock_state=1) at > radeon_output.c:1888 > 1888 OUTREG(pRADEONI2CBus->mask_clk_reg, temp); > (gdb) bt > 0 RADEONI2CDoLock (output=0x82548e0, b=0x8254b18, lock_state=1) at > radeon_output.c:1888 > 1 0xb71d392c in radeon_ddc_connected (output=0x82548e0) at > radeon_output.c:332 > 2 radeon_detect (output=0x82548e0) at radeon_output.c:1170 > 3 0xb71876ec in RADEONPreInitControllers (pScrn=<value optimized out>) at > radeon_driver.c:2892 > 4 0xb7189a8f in RADEONPreInit (pScrn=0x8256998, flags=0) at > radeon_driver.c:3158 > 5 0x080be944 in InitOutput (pScreenInfo=0x82366a0, argc=1, argv=0xbfc3b884) > at xf86Init.c:832 > 6 0x080666eb in main (argc=1, argv=0xbfc3b884, envp=0xbfc3b88c) at main.c:205 > > Signed-off-by: Stefan Assmann <[email protected]> > --- > src/radeon_atombios.c | 4 ++++ > 1 files changed, 4 insertions(+), 0 deletions(-) > > diff --git a/src/radeon_atombios.c b/src/radeon_atombios.c > index bbe3d8e..cf13eff 100644 > --- a/src/radeon_atombios.c > +++ b/src/radeon_atombios.c > @@ -2533,6 +2533,10 @@ RADEONGetATOMConnectorInfoFromBIOSConnectorTable > (ScrnInfoPtr pScrn) > continue; > } > > + /* skip bogus output_id of 0 */ > + if (info->BiosConnector[i].output_id == 0) > + return FALSE; > + > /* don't assign a gpio for tv */ > if ((i == ATOM_DEVICE_TV1_INDEX) || > (i == ATOM_DEVICE_TV2_INDEX) || > -- > 1.7.0.2 > > _______________________________________________ > xorg-driver-ati mailing list > [email protected] > http://lists.x.org/mailman/listinfo/xorg-driver-ati > _______________________________________________ xorg-driver-ati mailing list [email protected] http://lists.x.org/mailman/listinfo/xorg-driver-ati
