Re: [patch 1/4] drivers/atm/firestream.c: suppress uninitialized var warning
From: Andrew Morton <akpm@linux-foundation.org>
Date: 2008-03-28 23:55:06
On Fri, 28 Mar 2008 16:20:17 -0700 (PDT) David Miller [off-list ref] wrote:
From: akpm@linux-foundation.org Date: Fri, 28 Mar 2008 14:37:29 -0700quoted
From: Andrew Morton <akpm@linux-foundation.org> drivers/atm/firestream.c: In function 'fs_open': drivers/atm/firestream.c:870: warning: 'tmc0' may be used uninitialized in this function I have confirmed that this is a false positive. Cc: David S. Miller <davem@davemloft.net> Cc: Jeff Garzik <redacted> Cc: chas williams <redacted> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>Andrew, I'm not applying patches that use that sinful uninitialized_var() thing.
Your call, but it isn't sinful. It has documentary value - it tells the reader "we don't really need to do this, but gcc isn't smart enough".
quoted hunk ↗ jump to hunk
I'll apply the following instead. commit d41a95e04ae80b77ddc186d0d97e6b439684adb8 Author: David S. Miller [off-list ref] Date: Fri Mar 28 16:19:26 2008 -0700 [ATM] firestream: Fix uninitialized var warning. All code paths set tmc0 in some way, but GCC can't see that for some reason. Explicitly initialize to zero. Signed-off-by: David S. Miller [off-list ref]diff --git a/drivers/atm/firestream.c b/drivers/atm/firestream.c index 47c57a4..98099f5 100644 --- a/drivers/atm/firestream.c +++ b/drivers/atm/firestream.c@@ -978,6 +978,7 @@ static int fs_open(struct atm_vcc *atm_vcc) /* Docs are vague about this atm_hdr field. By the way, the FS * chip makes odd errors if lower bits are set.... -- REW */ tc->atm_hdr = (vpi << 20) | (vci << 4); + tmc0 = 0; { int pcr = atm_pcr_goal (txtp);
Whereas the reader doesn't know why that unneeded initialisation is there. And it generates additional, unneeded code.