diff options
Diffstat (limited to 'drivers/scsi/pcmcia/qlogic_stub.c')
-rw-r--r-- | drivers/scsi/pcmcia/qlogic_stub.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/drivers/scsi/pcmcia/qlogic_stub.c b/drivers/scsi/pcmcia/qlogic_stub.c index dce7e687fd4a..70269fc10f30 100644 --- a/drivers/scsi/pcmcia/qlogic_stub.c +++ b/drivers/scsi/pcmcia/qlogic_stub.c | |||
@@ -289,6 +289,7 @@ out: | |||
289 | cs_failed: | 289 | cs_failed: |
290 | cs_error(link->handle, last_fn, last_ret); | 290 | cs_error(link->handle, last_fn, last_ret); |
291 | link->dev = NULL; | 291 | link->dev = NULL; |
292 | |||
292 | pcmcia_release_configuration(link->handle); | 293 | pcmcia_release_configuration(link->handle); |
293 | pcmcia_release_io(link->handle, &link->io); | 294 | pcmcia_release_io(link->handle, &link->io); |
294 | pcmcia_release_irq(link->handle, &link->irq); | 295 | pcmcia_release_irq(link->handle, &link->irq); |
@@ -306,17 +307,11 @@ static void qlogic_release(dev_link_t *link) | |||
306 | DEBUG(0, "qlogic_release(0x%p)\n", link); | 307 | DEBUG(0, "qlogic_release(0x%p)\n", link); |
307 | 308 | ||
308 | scsi_remove_host(info->host); | 309 | scsi_remove_host(info->host); |
309 | link->dev = NULL; | ||
310 | 310 | ||
311 | free_irq(link->irq.AssignedIRQ, info->host); | 311 | free_irq(link->irq.AssignedIRQ, info->host); |
312 | 312 | pcmcia_disable_device(link->handle); | |
313 | pcmcia_release_configuration(link->handle); | ||
314 | pcmcia_release_io(link->handle, &link->io); | ||
315 | pcmcia_release_irq(link->handle, &link->irq); | ||
316 | 313 | ||
317 | scsi_host_put(info->host); | 314 | scsi_host_put(info->host); |
318 | |||
319 | link->state &= ~DEV_CONFIG; | ||
320 | } | 315 | } |
321 | 316 | ||
322 | /*====================================================================*/ | 317 | /*====================================================================*/ |