aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi
diff options
context:
space:
mode:
authorSaurav Kashyap <saurav.kashyap@qlogic.com>2012-11-21 02:40:43 -0500
committerJames Bottomley <JBottomley@Parallels.com>2012-11-30 10:19:05 -0500
commit0a63ad12e3efe81c5809a5e9418f19947de88da2 (patch)
treebeee8b0830bd36b88d51ebe42286fcb8dbbcd4d9 /drivers/scsi
parenta720101de3acd1549681216ebac2b1eb78723561 (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.c2
-rw-r--r--drivers/scsi/qla2xxx/qla_os.c8
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 }
2682iospace_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 {