From d5c149d87b11654ddd51df993c4bd49a81531e09 Mon Sep 17 00:00:00 2001 From: Nicholas Bellinger Date: Tue, 11 Oct 2011 06:02:48 +0000 Subject: [PATCH] --- yaml --- r: 264661 b: refs/heads/master c: b0e062aec578c756d1aea4b5809294488366a6e8 h: refs/heads/master i: 264659: f80ecceed7cff10ae0012b01f71b9cc5891fd477 v: v3 --- [refs] | 2 +- trunk/drivers/target/target_core_tmr.c | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index dd15ae256216..02d7ff44c1b3 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d050ffb922c782f092234611b9019e95024481ab +refs/heads/master: b0e062aec578c756d1aea4b5809294488366a6e8 diff --git a/trunk/drivers/target/target_core_tmr.c b/trunk/drivers/target/target_core_tmr.c index ed0b1ff99110..d04cc1016ebf 100644 --- a/trunk/drivers/target/target_core_tmr.c +++ b/trunk/drivers/target/target_core_tmr.c @@ -339,6 +339,16 @@ static void core_tmr_drain_cmd_list( */ if (prout_cmd == cmd) continue; + /* + * Skip direct processing of TRANSPORT_FREE_CMD_INTR for + * HW target mode fabrics. + */ + spin_lock(&cmd->t_state_lock); + if (cmd->t_state == TRANSPORT_FREE_CMD_INTR) { + spin_unlock(&cmd->t_state_lock); + continue; + } + spin_unlock(&cmd->t_state_lock); atomic_set(&cmd->t_transport_queue_active, 0); atomic_dec(&qobj->queue_cnt);