Patchwork [3.5.y.z,extended,stable] Patch "target: Release se_cmd when LUN lookup fails for TMR" has been added to staging queue

mail settings
Submitter Herton Ronaldo Krzesinski
Date Jan. 23, 2013, 4:43 a.m.
Message ID <>
Download mbox | patch
Permalink /patch/214767/
State New
Headers show


Herton Ronaldo Krzesinski - Jan. 23, 2013, 4:43 a.m.
This is a note to let you know that I have just added a patch titled

    target: Release se_cmd when LUN lookup fails for TMR

to the linux-3.5.y-queue branch of the 3.5.y.z extended stable tree 
which can be found at:;a=shortlog;h=refs/heads/linux-3.5.y-queue

If you, or anyone else, feels it should not be added to this tree, please 
reply to this email.

For more information about the 3.5.y.z tree, see



From 03027f72cf19f4d510459e3bbf1b18eae61d32a5 Mon Sep 17 00:00:00 2001
From: Roland Dreier <>
Date: Wed, 2 Jan 2013 12:47:59 -0800
Subject: [PATCH] target: Release se_cmd when LUN lookup fails for TMR

commit 5a3b6fc0092c5f8dee7820064ee54d2631d48573 upstream.

When transport_lookup_tmr_lun() fails and we return a task management
response from target_complete_tmr_failure(), we need to call
transport_cmd_check_stop_to_fabric() to release the last ref to the
cmd after calling se_tfo->queue_tm_rsp(), or else we will never remove
the failed TMR from the session command list (and we'll end up waiting
forever when trying to tear down the session).

(nab: Fix minor compile breakage)

Signed-off-by: Roland Dreier <>
Signed-off-by: Nicholas Bellinger <>
Signed-off-by: Herton Ronaldo Krzesinski <>
 drivers/target/target_core_transport.c |    2 ++
 1 file changed, 2 insertions(+)



diff --git a/drivers/target/target_core_transport.c b/drivers/target/target_core_transport.c
index d6c73e8..047f49a 100644
--- a/drivers/target/target_core_transport.c
+++ b/drivers/target/target_core_transport.c
@@ -1614,6 +1614,8 @@  static void target_complete_tmr_failure(struct work_struct *work)

 	se_cmd->se_tmr_req->response = TMR_LUN_DOES_NOT_EXIST;
+	transport_cmd_check_stop_to_fabric(se_cmd);