aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/aha1740.c
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2006-12-06 15:01:18 +0000
committerDavid Howells <dhowells@warthog.cambridge.redhat.com>2006-12-06 15:01:18 +0000
commit4796b71fbb907ce6b8a9acf1852d3646a80b4576 (patch)
tree6263f165446c581efdbb760205c1f85378fe6259 /drivers/scsi/aha1740.c
parentWorkQueue: Fix up arch-specific work items where possible (diff)
parentMerge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 (diff)
downloadlinux-dev-4796b71fbb907ce6b8a9acf1852d3646a80b4576.tar.xz
linux-dev-4796b71fbb907ce6b8a9acf1852d3646a80b4576.zip
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
Conflicts: drivers/pcmcia/ds.c Fix up merge failures with Linus's head and fix new compile failures. Signed-Off-By: David Howells <dhowells@redhat.com>
Diffstat (limited to 'drivers/scsi/aha1740.c')
-rw-r--r--drivers/scsi/aha1740.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/scsi/aha1740.c b/drivers/scsi/aha1740.c
index c3c38a7e8d32..d7af9c63a04d 100644
--- a/drivers/scsi/aha1740.c
+++ b/drivers/scsi/aha1740.c
@@ -586,7 +586,7 @@ static struct scsi_host_template aha1740_template = {
static int aha1740_probe (struct device *dev)
{
- int slotbase;
+ int slotbase, rc;
unsigned int irq_level, irq_type, translation;
struct Scsi_Host *shpnt;
struct aha1740_hostdata *host;
@@ -641,10 +641,16 @@ static int aha1740_probe (struct device *dev)
}
eisa_set_drvdata (edev, shpnt);
- scsi_add_host (shpnt, dev); /* XXX handle failure */
+
+ rc = scsi_add_host (shpnt, dev);
+ if (rc)
+ goto err_irq;
+
scsi_scan_host (shpnt);
return 0;
+ err_irq:
+ free_irq(irq_level, shpnt);
err_unmap:
dma_unmap_single (&edev->dev, host->ecb_dma_addr,
sizeof (host->ecb), DMA_BIDIRECTIONAL);