summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/mca_53c9x.c
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>1999-10-09 00:00:47 +0000
committerRalf Baechle <ralf@linux-mips.org>1999-10-09 00:00:47 +0000
commitd6434e1042f3b0a6dfe1b1f615af369486f9b1fa (patch)
treee2be02f33984c48ec019c654051d27964e42c441 /drivers/scsi/mca_53c9x.c
parent609d1e803baf519487233b765eb487f9ec227a18 (diff)
Merge with 2.3.19.
Diffstat (limited to 'drivers/scsi/mca_53c9x.c')
-rw-r--r--drivers/scsi/mca_53c9x.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/scsi/mca_53c9x.c b/drivers/scsi/mca_53c9x.c
index 9755f8ee7..6639a3a0a 100644
--- a/drivers/scsi/mca_53c9x.c
+++ b/drivers/scsi/mca_53c9x.c
@@ -156,6 +156,8 @@ int mca_esp_detect(Scsi_Host_Template *tpnt)
"NCR 53c9x SCSI", esp_intr))
{
printk("Unable to request IRQ %d.\n", esp->irq);
+ esp_deallocate(esp);
+ scsi_unregister(esp->ehost);
return 0;
}
@@ -163,6 +165,8 @@ int mca_esp_detect(Scsi_Host_Template *tpnt)
printk("Unable to request DMA channel %d.\n",
esp->dma);
free_irq(esp->irq, esp_intr);
+ esp_deallocate(esp);
+ scsi_unregister(esp->ehost);
return 0;
}
@@ -259,7 +263,7 @@ int mca_esp_release(struct Scsi_Host *host)
struct NCR_ESP *esp = (struct NCR_ESP *)host->hostdata;
unsigned char tmp_byte;
-
+ esp_deallocate(esp);
/*
* Tell the 86C01 to stop sending interrupts
*/
@@ -271,7 +275,7 @@ int mca_esp_release(struct Scsi_Host *host)
free_irq(esp->irq, esp_intr);
free_dma(esp->dma);
- mca_mark_as_unused(esp->eregs->slot);
+ mca_mark_as_unused(esp->slot);
return 0;
}