diff options
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_os.c')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_os.c | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c index d03523d3bf38..2bd70bb82aab 100644 --- a/drivers/scsi/qla2xxx/qla_os.c +++ b/drivers/scsi/qla2xxx/qla_os.c | |||
@@ -1612,15 +1612,9 @@ qla2x00_probe_one(struct pci_dev *pdev, const struct pci_device_id *id) | |||
1612 | host->max_lun = MAX_LUNS; | 1612 | host->max_lun = MAX_LUNS; |
1613 | host->transportt = qla2xxx_transport_template; | 1613 | host->transportt = qla2xxx_transport_template; |
1614 | 1614 | ||
1615 | ret = request_irq(pdev->irq, ha->isp_ops.intr_handler, | 1615 | ret = qla2x00_request_irqs(ha); |
1616 | IRQF_DISABLED|IRQF_SHARED, QLA2XXX_DRIVER_NAME, ha); | 1616 | if (ret) |
1617 | if (ret) { | ||
1618 | qla_printk(KERN_WARNING, ha, | ||
1619 | "Failed to reserve interrupt %d already in use.\n", | ||
1620 | pdev->irq); | ||
1621 | goto probe_failed; | 1617 | goto probe_failed; |
1622 | } | ||
1623 | host->irq = pdev->irq; | ||
1624 | 1618 | ||
1625 | /* Initialized the timer */ | 1619 | /* Initialized the timer */ |
1626 | qla2x00_start_timer(ha, qla2x00_timer, WATCH_INTERVAL); | 1620 | qla2x00_start_timer(ha, qla2x00_timer, WATCH_INTERVAL); |
@@ -1750,9 +1744,7 @@ qla2x00_free_device(scsi_qla_host_t *ha) | |||
1750 | 1744 | ||
1751 | qla2x00_mem_free(ha); | 1745 | qla2x00_mem_free(ha); |
1752 | 1746 | ||
1753 | /* Detach interrupts */ | 1747 | qla2x00_free_irqs(ha); |
1754 | if (ha->host->irq) | ||
1755 | free_irq(ha->host->irq, ha); | ||
1756 | 1748 | ||
1757 | /* release io space registers */ | 1749 | /* release io space registers */ |
1758 | if (ha->iobase) | 1750 | if (ha->iobase) |