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

Commit 607ad1d8 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "scsi: libsas: fix a race condition when smp task timeout"

parents 016c38c4 a00ae2a5
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -47,17 +47,16 @@ static void smp_task_timedout(unsigned long _task)
	unsigned long flags;

	spin_lock_irqsave(&task->task_state_lock, flags);
	if (!(task->task_state_flags & SAS_TASK_STATE_DONE))
	if (!(task->task_state_flags & SAS_TASK_STATE_DONE)) {
		task->task_state_flags |= SAS_TASK_STATE_ABORTED;
	spin_unlock_irqrestore(&task->task_state_lock, flags);

		complete(&task->slow_task->completion);
	}
	spin_unlock_irqrestore(&task->task_state_lock, flags);
}

static void smp_task_done(struct sas_task *task)
{
	if (!del_timer(&task->slow_task->timer))
		return;
	del_timer(&task->slow_task->timer);
	complete(&task->slow_task->completion);
}