@@ -2483,28 +2483,25 @@ static void transport_write_pending_qf(struct se_cmd *cmd)
}
static bool
-__transport_wait_for_tasks(struct se_cmd *, bool, bool *, bool *,
- unsigned long *flags);
+__transport_wait_for_tasks(struct se_cmd *, bool, unsigned long *flags);
-static void target_wait_free_cmd(struct se_cmd *cmd, bool *aborted, bool *tas)
+static void target_wait_free_cmd(struct se_cmd *cmd)
{
unsigned long flags;
spin_lock_irqsave(&cmd->t_state_lock, flags);
- __transport_wait_for_tasks(cmd, true, aborted, tas, &flags);
+ __transport_wait_for_tasks(cmd, true, &flags);
spin_unlock_irqrestore(&cmd->t_state_lock, flags);
}
int transport_generic_free_cmd(struct se_cmd *cmd, int wait_for_tasks)
{
- bool aborted = false, tas = false;
-
if (!(cmd->se_cmd_flags & SCF_SE_LUN_CMD)) {
if (wait_for_tasks && (cmd->se_cmd_flags & SCF_SCSI_TMR_CDB))
- target_wait_free_cmd(cmd, &aborted, &tas);
+ target_wait_free_cmd(cmd);
} else {
if (wait_for_tasks)
- target_wait_free_cmd(cmd, &aborted, &tas);
+ target_wait_free_cmd(cmd);
/*
* Handle WRITE failure case where transport_generic_new_cmd()
* has already added se_cmd to state_list, but fabric has
@@ -2651,9 +2648,8 @@ void transport_clear_lun_ref(struct se_lun *lun)
wait_for_completion(&lun->lun_ref_comp);
}
-static bool
-__transport_wait_for_tasks(struct se_cmd *cmd, bool fabric_stop,
- bool *aborted, bool *tas, unsigned long *flags)
+static bool __transport_wait_for_tasks(struct se_cmd *cmd, bool fabric_stop,
+ unsigned long *flags)
__releases(&cmd->t_state_lock)
__acquires(&cmd->t_state_lock)
{
@@ -2664,12 +2660,6 @@ __transport_wait_for_tasks(struct se_cmd *cmd, bool fabric_stop,
if (fabric_stop)
cmd->transport_state |= CMD_T_FABRIC_STOP;
- if (cmd->transport_state & CMD_T_ABORTED)
- *aborted = true;
-
- if (cmd->transport_state & CMD_T_TAS)
- *tas = true;
-
if (!(cmd->se_cmd_flags & SCF_SE_LUN_CMD) &&
!(cmd->se_cmd_flags & SCF_SCSI_TMR_CDB))
return false;
@@ -2681,7 +2671,7 @@ __transport_wait_for_tasks(struct se_cmd *cmd, bool fabric_stop,
if (!(cmd->transport_state & CMD_T_ACTIVE))
return false;
- if (fabric_stop && *aborted)
+ if (fabric_stop && (cmd->transport_state & CMD_T_ABORTED))
return false;
cmd->transport_state |= CMD_T_STOP;
@@ -2714,10 +2704,10 @@ __transport_wait_for_tasks(struct se_cmd *cmd, bool fabric_stop,
bool transport_wait_for_tasks(struct se_cmd *cmd)
{
unsigned long flags;
- bool ret, aborted = false, tas = false;
+ bool ret;
spin_lock_irqsave(&cmd->t_state_lock, flags);
- ret = __transport_wait_for_tasks(cmd, false, &aborted, &tas, &flags);
+ ret = __transport_wait_for_tasks(cmd, false, &flags);
spin_unlock_irqrestore(&cmd->t_state_lock, flags);
return ret;
The tas pointer is set by __transport_wait_for_tasks() but the value that is set is ignored by all callers due to previous patches. Hence remove the code that sets the 'tas' variable. Also remove the 'aborted' pointer because the value stored in that pointer is only used in debug code. Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com> Cc: Nicholas A. Bellinger <nab@linux-iscsi.org> Cc: Christoph Hellwig <hch@lst.de> Cc: David Disseldorp <ddiss@suse.de> --- drivers/target/target_core_transport.c | 30 ++++++++++-------------------- 1 file changed, 10 insertions(+), 20 deletions(-)