summaryrefslogtreecommitdiff
path: root/drivers/target/target_core_file.c
diff options
context:
space:
mode:
authorAlex Leung <alex.leung@emulex.com>2014-04-04 04:38:19 (GMT)
committerNicholas Bellinger <nab@linux-iscsi.org>2014-04-11 22:27:15 (GMT)
commit47b1584c1c95f0bb4d646c47de1c0455bb5cef54 (patch)
tree62c12ddafcdba8431c125dd89ea5c49cdf9dffaa /drivers/target/target_core_file.c
parentbc0058695a74c0e9aef8bf9582a096ce4924f690 (diff)
downloadlinux-47b1584c1c95f0bb4d646c47de1c0455bb5cef54.tar.xz
target: Add check to prevent Abort Task from aborting itself
This patch addresses an issue that occurs when an ABTS is received for an se_cmd that completes just before the sess_cmd_list is searched in core_tmr_abort_task(). When the sess_cmd_list is searched, since the ABTS and the FCP_CMND being aborted (that just completed) both have the same OXID, TFO->get_task_tag(TMR) returns a value that matches tmr->ref_task_tag (from TFO->get_task_tag(FCP_CMND)), and the Abort Task tries to abort itself. When this occurs, transport_wait_for_tasks() hangs forever since the TMR is waiting for itself to finish. This patch adds a check to core_tmr_abort_task() to make sure the TMR does not attempt to abort itself. Signed-off-by: Alex Leung <alex.leung@emulex.com> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Diffstat (limited to 'drivers/target/target_core_file.c')
0 files changed, 0 insertions, 0 deletions