On Sun, Aug 15, 2010 at 8:11 AM, Jean Delvare khali@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@linux-fr.org Cc: David Airlie airlied@linux.ie Cc: Alex Deucher alexdeucher@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@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