@@ -2904,15 +2904,14 @@ 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, 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, bool *aborted)
{
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, aborted, &flags);
spin_unlock_irqrestore(&cmd->t_state_lock, flags);
}
@@ -2946,8 +2945,6 @@ void target_put_cmd_and_wait(struct se_cmd *cmd)
* CMD_T_COMPLETE has been set.
* - CMD_T_ABORTED is set atomically after the CMD_T_COMPLETE check for
* commands that will be aborted.
- * - If the CMD_T_ABORTED flag is set but CMD_T_TAS has not been set
- * transport_generic_free_cmd() skips its call to target_put_sess_cmd().
* - For aborted commands for which CMD_T_TAS has been set .queue_status() will
* be called and will drop a reference.
* - For aborted commands for which CMD_T_TAS has not been set .aborted_task()
@@ -2957,10 +2954,10 @@ int transport_generic_free_cmd(struct se_cmd *cmd, int wait_for_tasks)
{
DECLARE_COMPLETION_ONSTACK(compl);
int ret = 0;
- bool aborted = false, tas = false;
+ bool aborted = false;
if (wait_for_tasks)
- target_wait_free_cmd(cmd, &aborted, &tas);
+ target_wait_free_cmd(cmd, &aborted);
if (cmd->se_cmd_flags & SCF_SE_LUN_CMD) {
/*
@@ -3239,7 +3236,7 @@ void transport_clear_lun_ref(struct se_lun *lun)
static bool
__transport_wait_for_tasks(struct se_cmd *cmd, bool fabric_stop,
- bool *aborted, bool *tas, unsigned long *flags)
+ bool *aborted, unsigned long *flags)
__releases(&cmd->t_state_lock)
__acquires(&cmd->t_state_lock)
{
@@ -3254,9 +3251,6 @@ __transport_wait_for_tasks(struct se_cmd *cmd, bool fabric_stop,
if (fabric_stop && !*aborted)
cmd->transport_state |= CMD_T_FABRIC_STOP;
- 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;
@@ -3297,10 +3291,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, aborted = false;
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, &aborted, &flags);
spin_unlock_irqrestore(&cmd->t_state_lock, flags);
return ret;