On Sun, Aug 15, 2010 at 8:11 AM, Jean Delvare <khali at linux-fr.org> wrote: > Always zero-init a structure on the stack which is returned by a > function. Otherwise you may leak random stack data from previous > function calls. > > This fixes the following warning I was seeing: > ?CC [M] ?drivers/gpu/drm/radeon/radeon_atombios.o > drivers/gpu/drm/radeon/radeon_atombios.c: In function > "radeon_atom_get_hpd_info_from_gpio": > drivers/gpu/drm/radeon/radeon_atombios.c:261: warning: "hpd.plugged_state" is > used uninitialized in this function > > Signed-off-by: Jean Delvare <khali at linux-fr.org> > Cc: David Airlie <airlied at linux.ie> > Cc: Alex Deucher <alexdeucher at gmail.com> > --- > As a side, note, passing whole structures on the stack this way seems > suboptimal. Passing structures by address would be faster (and safer, > as it stands.)
There are a few places in the connector/encoder init code where this needs to be cleaned up, just haven't gotten to it yet. Patch looks good. Thanks! Reviewed-By: Alex Deucher <alexdeucher at gmail.com> > > ?drivers/gpu/drm/radeon/radeon_atombios.c | ? ?2 ++ > ?1 file changed, 2 insertions(+) > > --- linux-2.6.36-rc0.orig/drivers/gpu/drm/radeon/radeon_atombios.c ? ? > ?2010-08-15 10:24:49.000000000 +0200 > +++ linux-2.6.36-rc0/drivers/gpu/drm/radeon/radeon_atombios.c ? 2010-08-15 > 13:52:31.000000000 +0200 > @@ -226,6 +226,8 @@ static struct radeon_hpd radeon_atom_get > ? ? ? ?struct radeon_hpd hpd; > ? ? ? ?u32 reg; > > + ? ? ? memset(&hpd, 0, sizeof(struct radeon_hpd)); > + > ? ? ? ?if (ASIC_IS_DCE4(rdev)) > ? ? ? ? ? ? ? ?reg = EVERGREEN_DC_GPIO_HPD_A; > ? ? ? ?else > > > -- > Jean Delvare >