[SCSI] qla4xxx: Do not retry ISP82XX initialization if H/W state is failed
Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com> Signed-off-by: Prasanna Mumbai <prasanna.mumbai@qlogic.com> Reviewed-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
This commit is contained in:
parent
99b53bf50c
commit
f9880e76fd
@ -1630,6 +1630,7 @@ static int __devinit qla4xxx_probe_adapter(struct pci_dev *pdev,
|
|||||||
uint8_t init_retry_count = 0;
|
uint8_t init_retry_count = 0;
|
||||||
char buf[34];
|
char buf[34];
|
||||||
struct qla4_8xxx_legacy_intr_set *nx_legacy_intr;
|
struct qla4_8xxx_legacy_intr_set *nx_legacy_intr;
|
||||||
|
uint32_t dev_state;
|
||||||
|
|
||||||
if (pci_enable_device(pdev))
|
if (pci_enable_device(pdev))
|
||||||
return -1;
|
return -1;
|
||||||
@ -1713,6 +1714,18 @@ static int __devinit qla4xxx_probe_adapter(struct pci_dev *pdev,
|
|||||||
status = qla4xxx_initialize_adapter(ha, REBUILD_DDB_LIST);
|
status = qla4xxx_initialize_adapter(ha, REBUILD_DDB_LIST);
|
||||||
while ((!test_bit(AF_ONLINE, &ha->flags)) &&
|
while ((!test_bit(AF_ONLINE, &ha->flags)) &&
|
||||||
init_retry_count++ < MAX_INIT_RETRIES) {
|
init_retry_count++ < MAX_INIT_RETRIES) {
|
||||||
|
|
||||||
|
if (is_qla8022(ha)) {
|
||||||
|
qla4_8xxx_idc_lock(ha);
|
||||||
|
dev_state = qla4_8xxx_rd_32(ha, QLA82XX_CRB_DEV_STATE);
|
||||||
|
qla4_8xxx_idc_unlock(ha);
|
||||||
|
if (dev_state == QLA82XX_DEV_FAILED) {
|
||||||
|
ql4_printk(KERN_WARNING, ha, "%s: don't retry "
|
||||||
|
"initialize adapter. H/W is in failed state\n",
|
||||||
|
__func__);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
DEBUG2(printk("scsi: %s: retrying adapter initialization "
|
DEBUG2(printk("scsi: %s: retrying adapter initialization "
|
||||||
"(%d)\n", __func__, init_retry_count));
|
"(%d)\n", __func__, init_retry_count));
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user