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

Commit 6385a475 authored by Syed Rameez Mustafa's avatar Syed Rameez Mustafa
Browse files

sched/hmp: Disable interrupts when resetting all task stats



Taking the pi_lock without disabling interrupts in reset_all_task_stats()
is problematic. In that an interrupt can end up waking a task which in
turn needs the pi_lock again causing a deadlock. Disable interrupts along
with taking the lock to avoid this problem.

Change-Id: If27cb2bb3fcaafa5c8435f3c2e0e4be9b8f1e987
Signed-off-by: default avatarSyed Rameez Mustafa <rameezmustafa@codeaurora.org>
parent bcd8ec92
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -3106,9 +3106,9 @@ static void reset_all_task_stats(void)

	read_lock(&tasklist_lock);
	do_each_thread(g, p) {
		raw_spin_lock(&p->pi_lock);
		raw_spin_lock_irq(&p->pi_lock);
		reset_task_stats(p);
		raw_spin_unlock(&p->pi_lock);
		raw_spin_unlock_irq(&p->pi_lock);
	}  while_each_thread(g, p);
	read_unlock(&tasklist_lock);
}