|
@@ -1102,7 +1102,8 @@ static int qla4xxx_recover_adapter(struct scsi_qla_host *ha)
|
|
|
ha->host_no, __func__));
|
|
|
status = ha->isp_ops->reset_firmware(ha);
|
|
|
if (status == QLA_SUCCESS) {
|
|
|
- qla4xxx_cmd_wait(ha);
|
|
|
+ if (!test_bit(AF_FW_RECOVERY, &ha->flags))
|
|
|
+ qla4xxx_cmd_wait(ha);
|
|
|
ha->isp_ops->disable_intrs(ha);
|
|
|
qla4xxx_process_aen(ha, FLUSH_DDB_CHANGED_AENS);
|
|
|
qla4xxx_abort_active_cmds(ha, DID_RESET << 16);
|
|
@@ -1119,7 +1120,8 @@ static int qla4xxx_recover_adapter(struct scsi_qla_host *ha)
|
|
|
* or if stop_firmware fails for ISP-82xx.
|
|
|
* This is the default case for ISP-4xxx */
|
|
|
if (!is_qla8022(ha) || reset_chip) {
|
|
|
- qla4xxx_cmd_wait(ha);
|
|
|
+ if (!test_bit(AF_FW_RECOVERY, &ha->flags))
|
|
|
+ qla4xxx_cmd_wait(ha);
|
|
|
qla4xxx_process_aen(ha, FLUSH_DDB_CHANGED_AENS);
|
|
|
qla4xxx_abort_active_cmds(ha, DID_RESET << 16);
|
|
|
DEBUG2(ql4_printk(KERN_INFO, ha,
|