Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+0 −6
Original line number Diff line number Diff line
@@ -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);

	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;

	/*
@@ -2153,14 +2149,12 @@ void __transport_stop_task_timer(struct se_task *task, unsigned long *flags)
	if (!(task->task_flags & TF_TIMER_RUNNING))
		return;

	task->task_flags |= TF_TIMER_STOP;
	spin_unlock_irqrestore(&cmd->t_state_lock, *flags);

	del_timer_sync(&task->task_timer);

	spin_lock_irqsave(&cmd->t_state_lock, *flags);
	task->task_flags &= ~TF_TIMER_RUNNING;
	task->task_flags &= ~TF_TIMER_STOP;
}

static void transport_stop_all_task_timers(struct se_cmd *cmd)
+0 −1
Original line number Diff line number Diff line
@@ -78,7 +78,6 @@ enum se_task_flags {
	TF_TIMEOUT		= (1 << 2),
	TF_REQUEST_STOP		= (1 << 3),
	TF_TIMER_RUNNING	= (1 << 4),
	TF_TIMER_STOP		= (1 << 5),
};

/* Special transport agnostic struct se_cmd->t_states */