From 2fc379e2215b40182dbb02e8be878fb712dbee48 Mon Sep 17 00:00:00 2001 From: Vladislav Bolkhovitin Date: Thu, 28 Jun 2012 22:32:03 +0000 Subject: [PATCH] scst: Make extra_tgt_dev_list_entry users hold scst_mutex Because it's used in 3 places not othrewise synchronized Signed-off-by: Bart Van Assche git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4386 d57e44dd-8a1f-0410-8b47-8ef2f437770f --- scst/include/scst.h | 2 +- scst/src/scst_targ.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/scst/include/scst.h b/scst/include/scst.h index 24785be15..ee37e8317 100644 --- a/scst/include/scst.h +++ b/scst/include/scst.h @@ -2528,7 +2528,7 @@ struct scst_tgt_dev { /* List entry in dev->dev_tgt_dev_list */ struct list_head dev_tgt_dev_list_entry; - /* Internal tmp list entry */ + /* Internal tmp list entry. User must hold scst_mutex. */ struct list_head extra_tgt_dev_list_entry; /* Set if INQUIRY DATA HAS CHANGED UA is needed */ diff --git a/scst/src/scst_targ.c b/scst/src/scst_targ.c index ba7d07362..ddfa29ffb 100644 --- a/scst/src/scst_targ.c +++ b/scst/src/scst_targ.c @@ -5212,8 +5212,6 @@ static int scst_clear_task_set(struct scst_mgmt_cmd *mcmd) scst_unblock_aborted_cmds(1); - mutex_unlock(&scst_mutex); - if (!dev->tas) { uint8_t sense_buffer[SCST_STANDARD_SENSE_LEN]; int sl; @@ -5228,6 +5226,8 @@ static int scst_clear_task_set(struct scst_mgmt_cmd *mcmd) } } + mutex_unlock(&scst_mutex); + scst_call_dev_task_mgmt_fn_received(mcmd, mcmd->mcmd_tgt_dev); res = scst_set_mcmd_next_state(mcmd);