[SCSI] qla4xxx: On firmware hang do not wait for the outstanding commands to complete
Signed-off-by: Nilesh Javali <nilesh.javali@qlogic.com> Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com> Signed-off-by: Ravi Anand <ravi.anand@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
3710c60c09
commit
2bd1e2be8f
|
@ -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,
|
||||
|
|
Loading…
Reference in a new issue