Commit e99d48a6 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Nicholas Bellinger

target: remove TF_TIMER_STOP

TF_TIMER_STOP is useless as it only helps to mitigate a tiny race during
deleting the timer.  But given that we have cleared TF_ACTIVE at this point
we already have another mitigation a few lines down the function.
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
parent cdbb70bb
...@@ -2066,10 +2066,6 @@ static void transport_task_timeout_handler(unsigned long data) ...@@ -2066,10 +2066,6 @@ static void transport_task_timeout_handler(unsigned long data)
pr_debug("transport task timeout fired! task: %p cmd: %p\n", task, cmd); pr_debug("transport task timeout fired! task: %p cmd: %p\n", task, cmd);
spin_lock_irqsave(&cmd->t_state_lock, flags); spin_lock_irqsave(&cmd->t_state_lock, flags);
if (task->task_flags & TF_TIMER_STOP) {
spin_unlock_irqrestore(&cmd->t_state_lock, flags);
return;
}
task->task_flags &= ~TF_TIMER_RUNNING; task->task_flags &= ~TF_TIMER_RUNNING;
/* /*
...@@ -2153,14 +2149,12 @@ void __transport_stop_task_timer(struct se_task *task, unsigned long *flags) ...@@ -2153,14 +2149,12 @@ void __transport_stop_task_timer(struct se_task *task, unsigned long *flags)
if (!(task->task_flags & TF_TIMER_RUNNING)) if (!(task->task_flags & TF_TIMER_RUNNING))
return; return;
task->task_flags |= TF_TIMER_STOP;
spin_unlock_irqrestore(&cmd->t_state_lock, *flags); spin_unlock_irqrestore(&cmd->t_state_lock, *flags);
del_timer_sync(&task->task_timer); del_timer_sync(&task->task_timer);
spin_lock_irqsave(&cmd->t_state_lock, *flags); spin_lock_irqsave(&cmd->t_state_lock, *flags);
task->task_flags &= ~TF_TIMER_RUNNING; task->task_flags &= ~TF_TIMER_RUNNING;
task->task_flags &= ~TF_TIMER_STOP;
} }
static void transport_stop_all_task_timers(struct se_cmd *cmd) static void transport_stop_all_task_timers(struct se_cmd *cmd)
......
...@@ -78,7 +78,6 @@ enum se_task_flags { ...@@ -78,7 +78,6 @@ enum se_task_flags {
TF_TIMEOUT = (1 << 2), TF_TIMEOUT = (1 << 2),
TF_REQUEST_STOP = (1 << 3), TF_REQUEST_STOP = (1 << 3),
TF_TIMER_RUNNING = (1 << 4), TF_TIMER_RUNNING = (1 << 4),
TF_TIMER_STOP = (1 << 5),
}; };
/* Special transport agnostic struct se_cmd->t_states */ /* Special transport agnostic struct se_cmd->t_states */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment