Merge r7468 from trunk

git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/3.3.x@7721 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
Bart Van Assche
2018-11-04 04:38:24 +00:00
parent dc97254d7c
commit 7beb6f6159

View File

@@ -3451,10 +3451,7 @@ out_unlock:
spin_unlock_irqrestore(&ha->hardware_lock, flags);
if (do_tgt_cmd_done) {
if (!ha_locked && !in_interrupt())
scst_tgt_cmd_done(&cmd->scst_cmd, SCST_CONTEXT_DIRECT);
else
scst_tgt_cmd_done(&cmd->scst_cmd, SCST_CONTEXT_TASKLET);
scst_tgt_cmd_done(&cmd->scst_cmd, SCST_CONTEXT_THREAD);
/* !! At this point cmd could be already freed !! */
}
@@ -3528,10 +3525,7 @@ out_unlock:
spin_unlock_irqrestore(&ha->hardware_lock, flags);
if (do_tgt_cmd_done) {
if (!ha_locked && !in_interrupt())
scst_tgt_cmd_done(&cmd->scst_cmd, SCST_CONTEXT_DIRECT);
else
scst_tgt_cmd_done(&cmd->scst_cmd, SCST_CONTEXT_TASKLET);
scst_tgt_cmd_done(&cmd->scst_cmd, SCST_CONTEXT_THREAD);
/* !! At this point cmd could be already freed !! */
}
@@ -3803,10 +3797,17 @@ static void q2t_do_ctio_completion(scsi_qla_host_t *vha, uint32_t handle,
TRACE_ENTRY();
#if 1 /*
* We can't do anything better, because DLM PR sync code calls
* mutex_lock() on this path
*/
context = SCST_CONTEXT_THREAD;
#else
#ifdef CONFIG_QLA_TGT_DEBUG_WORK_IN_THREAD
context = SCST_CONTEXT_THREAD;
#else
context = SCST_CONTEXT_TASKLET;
#endif
#endif
TRACE(TRACE_DEBUG|TRACE_SCSI, "qla2x00t(%ld): handle(ctio %p "