mirror of
https://github.com/torvalds/linux
synced 2024-10-19 17:58:44 +00:00
[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__));
|
ha->host_no, __func__));
|
||||||
status = ha->isp_ops->reset_firmware(ha);
|
status = ha->isp_ops->reset_firmware(ha);
|
||||||
if (status == QLA_SUCCESS) {
|
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);
|
ha->isp_ops->disable_intrs(ha);
|
||||||
qla4xxx_process_aen(ha, FLUSH_DDB_CHANGED_AENS);
|
qla4xxx_process_aen(ha, FLUSH_DDB_CHANGED_AENS);
|
||||||
qla4xxx_abort_active_cmds(ha, DID_RESET << 16);
|
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.
|
* or if stop_firmware fails for ISP-82xx.
|
||||||
* This is the default case for ISP-4xxx */
|
* This is the default case for ISP-4xxx */
|
||||||
if (!is_qla8022(ha) || reset_chip) {
|
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_process_aen(ha, FLUSH_DDB_CHANGED_AENS);
|
||||||
qla4xxx_abort_active_cmds(ha, DID_RESET << 16);
|
qla4xxx_abort_active_cmds(ha, DID_RESET << 16);
|
||||||
DEBUG2(ql4_printk(KERN_INFO, ha,
|
DEBUG2(ql4_printk(KERN_INFO, ha,
|
||||||
|
|
Loading…
Reference in a new issue