lkml.org 
[lkml]   [2009]   [Nov]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 1/1] Char: cyclades, fix compiler warning
    On Wed, Nov 18, 2009 at 01:18:22PM +0100, Jiri Slaby wrote:
    > With gcc 4.0.2:
    > drivers/char/cyclades.c: In function 'cyy_interrupt':
    > drivers/char/cyclades.c:581: warning: 'info' may be used uninitialized in this function
    >
    > introduced by
    >
    > : commit 3aeea5b92210083c7cffd4f08a0bb141d3f2d574
    > : Author: Jiri Slaby <jirislaby@gmail.com>
    > : AuthorDate: Sat Sep 19 13:13:16 2009 -0700
    > : Commit: Live-CD User <linux@linux.site>
    > : CommitDate: Sat Sep 19 13:13:16 2009 -0700
    > :
    > : cyclades: introduce cyy_readb/writeb
    >
    > In fact the true branch which uses uninitialized 'info' can never
    > happen because chip is always less than ->nchips and channel is
    > always less than 4 which we alloc.
    >
    > So behave similar to rx handling and remove the test completely.
    >
    > I wonder why gcc 4.4.1 doesn't spit a word.
    >
    > Reported-by: Andrew Morton <akpm@linux-foundation.org>
    > Cc: Alan Cox <alan@linux.intel.com>
    > Cc: Greg Kroah-Hartman <gregkh@suse.de>
    > Signed-off-by: Jiri Slaby <jslaby@novell.com>
    > ---
    > drivers/char/cyclades.c | 8 +-------
    > 1 files changed, 1 insertions(+), 7 deletions(-)
    >
    > diff --git a/drivers/char/cyclades.c b/drivers/char/cyclades.c
    > index a188c05..e026f24 100644
    > --- a/drivers/char/cyclades.c
    > +++ b/drivers/char/cyclades.c
    > @@ -595,14 +595,8 @@ static void cyy_chip_tx(struct cyclades_card *cinfo, unsigned int chip,
    > channel = save_xir & CyIRChannel;
    > save_car = readb(base_addr + (CyCAR << index));
    > cy_writeb(base_addr + (CyCAR << index), save_xir);
    > - info = &cinfo->ports[channel + chip * 4];
    >
    > - /* validate the port# (as configured and open) */
    > - if (channel + chip * 4 >= cinfo->nports) {
    > - cy_writeb(base_addr + (CySRER << index),
    > - readb(base_addr + (CySRER << index)) & ~CyTxRdy);
    > - goto end;
    > - }
    > + info = &cinfo->ports[channel + chip * 4];

    Wierd, but this doesn't apply at all to my or Linus's tree. Are there
    some other cyclades patch floating around out there that is needed here
    before this one?

    thanks,

    greg k-h


    \
     
     \ /
      Last update: 2009-11-20 18:47    [W:0.054 / U:0.072 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site