On Tue, Jan 10, 2006 at 05:51:15PM +0530, Ashutosh Naik wrote: > Add scsi_add_host() failure handling for Adaptec aha1740 driver. > > Signed-off-by: Ashutosh Naik <ashutosh.naik@xxxxxxxxx> > diff -Naurp linux-2.6.15-git5-vanilla/drivers/scsi/aha1740.c linux-2.6.15-git5/drivers/scsi/aha1740.c > --- linux-2.6.15-git5-vanilla/drivers/scsi/aha1740.c 2006-01-03 08:51:10.000000000 +0530 > +++ linux-2.6.15-git5/drivers/scsi/aha1740.c 2006-01-10 16:22:13.000000000 +0530 > @@ -587,7 +587,7 @@ static struct scsi_host_template aha1740 > > static int aha1740_probe (struct device *dev) > { > - int slotbase; > + int slotbase, retval; > unsigned int irq_level, irq_type, translation; > struct Scsi_Host *shpnt; > struct aha1740_hostdata *host; > @@ -642,7 +642,13 @@ static int aha1740_probe (struct device > } > > eisa_set_drvdata (edev, shpnt); > - scsi_add_host (shpnt, dev); /* XXX handle failure */ > + retval = scsi_add_host (shpnt, dev); > + if (retval) { > + printk(KERN_WARNING "aha1740: scsi_add_host failed\n"); > + scsi_host_put (shpnt); > + return retval; > + } > + this is wrong. you need to add a new err_free_irq label that frees the allocated irq and then falls through to the existing error handling code, starting at the err_unmap label. - : 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