Message ID | 20190321234412.11113-3-mfo@canonical.com |
---|---|
State | New |
Headers | show |
Series | LP#1821259 Fix for deadlock in cpu_stopper | expand |
diff --git a/kernel/stop_machine.c b/kernel/stop_machine.c index 71435be8bd25..ac4aa744724b 100644 --- a/kernel/stop_machine.c +++ b/kernel/stop_machine.c @@ -245,7 +245,11 @@ unlock: spin_unlock_irq(&stopper1->lock); lg_double_unlock(&stop_cpus_lock, cpu1, cpu2); - wake_up_q(&wakeq); + if (!err) { + preempt_disable(); + wake_up_q(&wakeq); + preempt_enable(); + } return err; }