summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBart Van Assche <bart.vanassche@sandisk.com>2015-04-14 11:26:06 (GMT)
committerNicholas Bellinger <nab@linux-iscsi.org>2015-04-16 05:47:21 (GMT)
commitdc0fafdab88b98581728a574885d0e4d9c6d0640 (patch)
tree7f0a5f90c6f312f36cbb77aafaf87e5a5de611b8
parent6ae504082188d25178ac9a22197fee89ebda232c (diff)
downloadlinux-dc0fafdab88b98581728a574885d0e4d9c6d0640.tar.xz
target: Make core_tmr_abort_task() skip TMFs
The loop in core_tmr_abort_task() iterates over sess_cmd_list. That list is a list of regular commands and task management functions (TMFs). Skip TMFs in this loop instead of letting the target drivers filter out TMFs in their get_task_tag() callback function. (Drop bogus check removal in tcm_qla2xxx_get_task_tag - nab) Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com> Cc: Christoph Hellwig <hch@lst.de> Cc: Andy Grover <agrover@redhat.com> Cc: <qla2xxx-upstream@qlogic.com> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
-rw-r--r--drivers/target/target_core_tmr.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/target/target_core_tmr.c b/drivers/target/target_core_tmr.c
index fa5e157..315ec34 100644
--- a/drivers/target/target_core_tmr.c
+++ b/drivers/target/target_core_tmr.c
@@ -125,8 +125,8 @@ void core_tmr_abort_task(
if (dev != se_cmd->se_dev)
continue;
- /* skip se_cmd associated with tmr */
- if (tmr->task_cmd == se_cmd)
+ /* skip task management functions, including tmr->task_cmd */
+ if (se_cmd->se_cmd_flags & SCF_SCSI_TMR_CDB)
continue;
ref_tag = se_cmd->se_tfo->get_task_tag(se_cmd);