Commit 0a63ad12 authored by Saurav Kashyap's avatar Saurav Kashyap Committed by James Bottomley

[SCSI] qla2xxx: Dont clear drv active on iospace config failure.

Signed-off-by: default avatarGiridhar Malavali <giridhar.malavali@qlogic.com>
Signed-off-by: default avatarSaurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: default avatarJames Bottomley <JBottomley@Parallels.com>
parent a720101d
...@@ -1655,7 +1655,6 @@ qla82xx_iospace_config(struct qla_hw_data *ha) ...@@ -1655,7 +1655,6 @@ qla82xx_iospace_config(struct qla_hw_data *ha)
if (!ha->nx_pcibase) { if (!ha->nx_pcibase) {
ql_log_pci(ql_log_fatal, ha->pdev, 0x000e, ql_log_pci(ql_log_fatal, ha->pdev, 0x000e,
"Cannot remap pcibase MMIO, aborting.\n"); "Cannot remap pcibase MMIO, aborting.\n");
pci_release_regions(ha->pdev);
goto iospace_error_exit; goto iospace_error_exit;
} }
...@@ -1670,7 +1669,6 @@ qla82xx_iospace_config(struct qla_hw_data *ha) ...@@ -1670,7 +1669,6 @@ qla82xx_iospace_config(struct qla_hw_data *ha)
if (!ha->nxdb_wr_ptr) { if (!ha->nxdb_wr_ptr) {
ql_log_pci(ql_log_fatal, ha->pdev, 0x000f, ql_log_pci(ql_log_fatal, ha->pdev, 0x000f,
"Cannot remap MMIO, aborting.\n"); "Cannot remap MMIO, aborting.\n");
pci_release_regions(ha->pdev);
goto iospace_error_exit; goto iospace_error_exit;
} }
......
...@@ -2367,7 +2367,7 @@ qla2x00_probe_one(struct pci_dev *pdev, const struct pci_device_id *id) ...@@ -2367,7 +2367,7 @@ qla2x00_probe_one(struct pci_dev *pdev, const struct pci_device_id *id)
/* Configure PCI I/O space */ /* Configure PCI I/O space */
ret = ha->isp_ops->iospace_config(ha); ret = ha->isp_ops->iospace_config(ha);
if (ret) if (ret)
goto probe_hw_failed; goto iospace_config_failed;
ql_log_pci(ql_log_info, pdev, 0x001d, ql_log_pci(ql_log_info, pdev, 0x001d,
"Found an ISP%04X irq %d iobase 0x%p.\n", "Found an ISP%04X irq %d iobase 0x%p.\n",
...@@ -2678,7 +2678,11 @@ qla2x00_probe_one(struct pci_dev *pdev, const struct pci_device_id *id) ...@@ -2678,7 +2678,11 @@ qla2x00_probe_one(struct pci_dev *pdev, const struct pci_device_id *id)
qla82xx_idc_lock(ha); qla82xx_idc_lock(ha);
qla82xx_clear_drv_active(ha); qla82xx_clear_drv_active(ha);
qla82xx_idc_unlock(ha); qla82xx_idc_unlock(ha);
iounmap((device_reg_t __iomem *)ha->nx_pcibase); }
iospace_config_failed:
if (IS_QLA82XX(ha)) {
if (!ha->nx_pcibase)
iounmap((device_reg_t __iomem *)ha->nx_pcibase);
if (!ql2xdbwr) if (!ql2xdbwr)
iounmap((device_reg_t __iomem *)ha->nxdb_wr_ptr); iounmap((device_reg_t __iomem *)ha->nxdb_wr_ptr);
} else { } else {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment