1
0
Fork 0

powerpc: hard disable irqs in smp_send_stop loop

The hard lockup watchdog can fire under local_irq_disable
on platforms with irq soft masking.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
hifive-unleashed-5.1
Nicholas Piggin 2018-04-01 20:36:14 +10:00 committed by Michael Ellerman
parent 6bed323762
commit 855bfe0de1
1 changed files with 3 additions and 2 deletions

View File

@ -574,9 +574,10 @@ static void stop_this_cpu(void *dummy)
/* Remove this CPU */ /* Remove this CPU */
set_cpu_online(smp_processor_id(), false); set_cpu_online(smp_processor_id(), false);
local_irq_disable(); hard_irq_disable();
spin_begin();
while (1) while (1)
; spin_cpu_relax();
} }
void smp_send_stop(void) void smp_send_stop(void)