On Wed, Oct 24 2007 at 11:59 +0200, Jean Delvare <khali@xxxxxxxxxxxx> wrote: > In 2.6.24-rc1 I see the following warning: > drivers/scsi/sym53c8xx_2/sym_glue.c: In function "sym_eh_handler": > drivers/scsi/sym53c8xx_2/sym_glue.c:612: warning: "io_reset" may be used uninitialized in this function > > Although gcc is wrong and the code is actually correct, it can easily > be made more obvious to keep the compiler quiet. > > Signed-off-by: Jean Delvare <khali@xxxxxxxxxxxx> > --- > drivers/scsi/sym53c8xx_2/sym_glue.c | 13 ++++++------- > 1 file changed, 6 insertions(+), 7 deletions(-) > > --- linux-2.6.24-rc1.orig/drivers/scsi/sym53c8xx_2/sym_glue.c 2007-10-24 09:59:46.000000000 +0200 > +++ linux-2.6.24-rc1/drivers/scsi/sym53c8xx_2/sym_glue.c 2007-10-24 11:53:14.000000000 +0200 > @@ -609,8 +609,8 @@ static int sym_eh_handler(int op, char * > */ > #define WAIT_FOR_PCI_RECOVERY 35 > if (pci_channel_offline(pdev)) { > - struct completion *io_reset; > - int finished_reset = 0; > + struct completion *io_reset = NULL; > + int finished_reset; > init_completion(&eh_done); > spin_lock_irq(shost->host_lock); > /* Make sure we didn't race */ > @@ -618,15 +618,14 @@ static int sym_eh_handler(int op, char * > if (!sym_data->io_reset) > sym_data->io_reset = &eh_done; > io_reset = sym_data->io_reset; > - } else { > - finished_reset = 1; > } > spin_unlock_irq(shost->host_lock); > - if (!finished_reset) > + if (io_reset) { > finished_reset = wait_for_completion_timeout(io_reset, > WAIT_FOR_PCI_RECOVERY*HZ); > - if (!finished_reset) > - return SCSI_FAILED; > + if (!finished_reset) > + return SCSI_FAILED; > + } > } > > spin_lock_irq(shost->host_lock); > > I think you should use uninitialized_var and not brute = NULL; This is because, than uninitialized_var can be tested for in the future and removed if no longer relevant. And also for the user of the code it is easier to understand. Boaz - To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html