[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20080328165437.bfd7726c.akpm@linux-foundation.org>
Date: Fri, 28 Mar 2008 16:54:37 -0700
From: Andrew Morton <akpm@...ux-foundation.org>
To: David Miller <davem@...emloft.net>
Cc: netdev@...r.kernel.org, chas@....nrl.navy.mil, jeff@...zik.org
Subject: Re: [patch 1/4] drivers/atm/firestream.c: suppress uninitialized
var warning
On Fri, 28 Mar 2008 16:20:17 -0700 (PDT) David Miller <davem@...emloft.net> wrote:
> From: akpm@...ux-foundation.org
> Date: Fri, 28 Mar 2008 14:37:29 -0700
>
> > From: Andrew Morton <akpm@...ux-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@...emloft.net>
> > Cc: Jeff Garzik <jeff@...zik.org>
> > Cc: chas williams <chas@....nrl.navy.mil>
> > Signed-off-by: Andrew Morton <akpm@...ux-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".
> I'll apply the following instead.
>
> commit d41a95e04ae80b77ddc186d0d97e6b439684adb8
> Author: David S. Miller <davem@...emloft.net>
> 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 <davem@...emloft.net>
>
> 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.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists