forked from Minki/linux
[SCSI] qla2xxx: Complete mailbox command timedout to avoid initialization failures during next reset cycle.
Complete the mailbox command timed out before initiating another abort cycle to recover so that mailbox commands issued during next reset cycle don't fail due to pending mailbox access timeout. Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com> Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
This commit is contained in:
parent
c7a9927842
commit
d33609607c
@ -342,6 +342,8 @@ qla2x00_mailbox_command(scsi_qla_host_t *vha, mbx_cmd_t *mcp)
|
||||
|
||||
set_bit(ABORT_ISP_ACTIVE, &vha->dpc_flags);
|
||||
clear_bit(ISP_ABORT_NEEDED, &vha->dpc_flags);
|
||||
/* Allow next mbx cmd to come in. */
|
||||
complete(&ha->mbx_cmd_comp);
|
||||
if (ha->isp_ops->abort_isp(vha)) {
|
||||
/* Failed. retry later. */
|
||||
set_bit(ISP_ABORT_NEEDED,
|
||||
@ -350,6 +352,7 @@ qla2x00_mailbox_command(scsi_qla_host_t *vha, mbx_cmd_t *mcp)
|
||||
clear_bit(ABORT_ISP_ACTIVE, &vha->dpc_flags);
|
||||
ql_dbg(ql_dbg_mbx, base_vha, 0x101f,
|
||||
"Finished abort_isp.\n");
|
||||
goto mbx_done;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -358,6 +361,7 @@ premature_exit:
|
||||
/* Allow next mbx cmd to come in. */
|
||||
complete(&ha->mbx_cmd_comp);
|
||||
|
||||
mbx_done:
|
||||
if (rval) {
|
||||
ql_dbg(ql_dbg_mbx, base_vha, 0x1020,
|
||||
"**** Failed mbx[0]=%x, mb[1]=%x, mb[2]=%x, cmd=%x ****.\n",
|
||||
|
Loading…
Reference in New Issue
Block a user