diff options
author | Saurav Kashyap <saurav.kashyap@qlogic.com> | 2012-11-21 02:40:43 -0500 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2012-11-30 10:19:05 -0500 |
commit | 0a63ad12e3efe81c5809a5e9418f19947de88da2 (patch) | |
tree | beee8b0830bd36b88d51ebe42286fcb8dbbcd4d9 /drivers/scsi | |
parent | a720101de3acd1549681216ebac2b1eb78723561 (diff) |
[SCSI] qla2xxx: Dont clear drv active on iospace config failure.
Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_nx.c | 2 | ||||
-rw-r--r-- | drivers/scsi/qla2xxx/qla_os.c | 8 |
2 files changed, 6 insertions, 4 deletions
diff --git a/drivers/scsi/qla2xxx/qla_nx.c b/drivers/scsi/qla2xxx/qla_nx.c index 45f619101cf9..3e3f593bada3 100644 --- a/drivers/scsi/qla2xxx/qla_nx.c +++ b/drivers/scsi/qla2xxx/qla_nx.c | |||
@@ -1655,7 +1655,6 @@ qla82xx_iospace_config(struct qla_hw_data *ha) | |||
1655 | if (!ha->nx_pcibase) { | 1655 | if (!ha->nx_pcibase) { |
1656 | ql_log_pci(ql_log_fatal, ha->pdev, 0x000e, | 1656 | ql_log_pci(ql_log_fatal, ha->pdev, 0x000e, |
1657 | "Cannot remap pcibase MMIO, aborting.\n"); | 1657 | "Cannot remap pcibase MMIO, aborting.\n"); |
1658 | pci_release_regions(ha->pdev); | ||
1659 | goto iospace_error_exit; | 1658 | goto iospace_error_exit; |
1660 | } | 1659 | } |
1661 | 1660 | ||
@@ -1670,7 +1669,6 @@ qla82xx_iospace_config(struct qla_hw_data *ha) | |||
1670 | if (!ha->nxdb_wr_ptr) { | 1669 | if (!ha->nxdb_wr_ptr) { |
1671 | ql_log_pci(ql_log_fatal, ha->pdev, 0x000f, | 1670 | ql_log_pci(ql_log_fatal, ha->pdev, 0x000f, |
1672 | "Cannot remap MMIO, aborting.\n"); | 1671 | "Cannot remap MMIO, aborting.\n"); |
1673 | pci_release_regions(ha->pdev); | ||
1674 | goto iospace_error_exit; | 1672 | goto iospace_error_exit; |
1675 | } | 1673 | } |
1676 | 1674 | ||
diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c index 6af369b1dafd..3a1661cf8c1e 100644 --- a/drivers/scsi/qla2xxx/qla_os.c +++ b/drivers/scsi/qla2xxx/qla_os.c | |||
@@ -2367,7 +2367,7 @@ qla2x00_probe_one(struct pci_dev *pdev, const struct pci_device_id *id) | |||
2367 | /* Configure PCI I/O space */ | 2367 | /* Configure PCI I/O space */ |
2368 | ret = ha->isp_ops->iospace_config(ha); | 2368 | ret = ha->isp_ops->iospace_config(ha); |
2369 | if (ret) | 2369 | if (ret) |
2370 | goto probe_hw_failed; | 2370 | goto iospace_config_failed; |
2371 | 2371 | ||
2372 | ql_log_pci(ql_log_info, pdev, 0x001d, | 2372 | ql_log_pci(ql_log_info, pdev, 0x001d, |
2373 | "Found an ISP%04X irq %d iobase 0x%p.\n", | 2373 | "Found an ISP%04X irq %d iobase 0x%p.\n", |
@@ -2678,7 +2678,11 @@ probe_hw_failed: | |||
2678 | qla82xx_idc_lock(ha); | 2678 | qla82xx_idc_lock(ha); |
2679 | qla82xx_clear_drv_active(ha); | 2679 | qla82xx_clear_drv_active(ha); |
2680 | qla82xx_idc_unlock(ha); | 2680 | qla82xx_idc_unlock(ha); |
2681 | iounmap((device_reg_t __iomem *)ha->nx_pcibase); | 2681 | } |
2682 | iospace_config_failed: | ||
2683 | if (IS_QLA82XX(ha)) { | ||
2684 | if (!ha->nx_pcibase) | ||
2685 | iounmap((device_reg_t __iomem *)ha->nx_pcibase); | ||
2682 | if (!ql2xdbwr) | 2686 | if (!ql2xdbwr) |
2683 | iounmap((device_reg_t __iomem *)ha->nxdb_wr_ptr); | 2687 | iounmap((device_reg_t __iomem *)ha->nxdb_wr_ptr); |
2684 | } else { | 2688 | } else { |