On 09/08/2010 02:38 AM, Greg KH wrote: > On Tue, Sep 07, 2010 at 10:46:27AM +0200, Jiri Slaby wrote: >> On 09/07/2010 07:34 AM, Javier Martinez Canillas wrote: >>> Current patch solves compilation warnings in staging/xgifb for using possibly uninitialized variables. >>> >>> Signed-off-by: Javier Martinez Canillas <martinez.javier@xxxxxxxxx> >>> --- >>> drivers/staging/xgifb/vb_setmode.c | 4 ++-- >>> 1 files changed, 2 insertions(+), 2 deletions(-) >>> >>> diff --git a/drivers/staging/xgifb/vb_setmode.c b/drivers/staging/xgifb/vb_setmode.c >>> index c4db2fc..720a592 100644 >>> --- a/drivers/staging/xgifb/vb_setmode.c >>> +++ b/drivers/staging/xgifb/vb_setmode.c >>> @@ -376,7 +376,7 @@ void InitTo330Pointer(unsigned char ChipType, struct vb_device_info *pVBInfo) >>> unsigned char XGISetModeNew(struct xgi_hw_device_info *HwDeviceExtension, >>> unsigned short ModeNo) >>> { >>> - unsigned short ModeIdIndex; >>> + unsigned short ModeIdIndex = 0; >>> /* unsigned char *pVBInfo->FBAddr = HwDeviceExtension->pjVideoMemoryAddress; */ >>> struct vb_device_info VBINF; >>> struct vb_device_info *pVBInfo = &VBINF; >> >> No, please don't. This is a compiler bug. >> >> The first use in that function is: >> XGI_SearchModeID( ModeNo , &ModeIdIndex, pVBInfo ); >> >> and that function contains: >> if (XYZ) { >> for( *ModeIdIndex = 0 ; ; ( *ModeIdIndex )++ ) >> ... >> } else { >> for( *ModeIdIndex = 0 ; ; ( *ModeIdIndex )++ ) >> ... >> } >> >> So your compiler is foolish if that emits a warning. > > No, I don't see a way that the compiler could really figure that type of > logic out. It doesn't know that XGI_SearchModeID() always will set that > field. Heck, at first glance I couldn't even figure it out :) No, the compiler could. Trust me :). Actually you've just hidden a bug in XGI_SearchModeID. There is #ifdef LINUX and LINUX is defined in main.h. But that file is not included in vb_setmode.c. Hence the uninitialized warnings... > So I don't mind applying this patch, as I'll just constantly keep > getting people sending me the same change, when they could be off > working on other things that this driver needs. So instead of hiding bugs, please fix the right ones. thanks, -- js _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel