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 :) 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. thanks, greg k-h _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel