aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQuinn Tran <[email protected]>2018-09-26 22:05:16 -0700
committerMartin K. Petersen <[email protected]>2018-09-27 20:15:05 -0400
commit710bc78f829d014eca95ed7ccc4052bc064b1320 (patch)
treece66cb12eba09071eeb9e67ed276a3bc4d7a8bfb
parent39553065f77c297239308470ee313841f4e07db4 (diff)
scsi: qla2xxx: Fix recursive mailbox timeout
This patch prevents user space mailbox request from doing chip reset if the mailbox timed out. The chip reset is only reserved for the DPC thread to ensure all mailbox requests are flushed properly. The DPC thread is responsible for the flushing all MBs and chip reset. Fixes: b2000805a975 ("scsi: qla2xxx: Flush mailbox commands on chip reset") Cc: <[email protected]> Signed-off-by: Quinn Tran <[email protected]> Reviewed-by: Ewan D. Milne <[email protected]> Signed-off-by: Himanshu Madhani <[email protected]> Signed-off-by: Martin K. Petersen <[email protected]>
-rw-r--r--drivers/scsi/qla2xxx/qla_mbx.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/scsi/qla2xxx/qla_mbx.c b/drivers/scsi/qla2xxx/qla_mbx.c
index e016ee9c6d8e..bd8c86aeccc2 100644
--- a/drivers/scsi/qla2xxx/qla_mbx.c
+++ b/drivers/scsi/qla2xxx/qla_mbx.c
@@ -518,7 +518,7 @@ qla2x00_mailbox_command(scsi_qla_host_t *vha, mbx_cmd_t *mcp)
set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags);
qla2xxx_wake_dpc(vha);
}
- } else if (!abort_active) {
+ } else if (current == ha->dpc_thread) {
/* call abort directly since we are in the DPC thread */
ql_dbg(ql_dbg_mbx, vha, 0x101d,
"Timeout, calling abort_isp.\n");