From: Ralf Baechle Date: Sat, 18 Oct 2008 12:23:10 +0000 (+0100) Subject: MIPS: SMP: Don't reenable interrupts in stop_this_cpu; use WAIT instruction. X-Git-Tag: v2.6.28-rc3~95^2~29 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=7920c4d658ff2b0f7b8acf3bd7c700875c2bc163;p=linux-2.6-omap-h63xx.git MIPS: SMP: Don't reenable interrupts in stop_this_cpu; use WAIT instruction. Noticed by Anirban Sinha ; patch by me. Signed-off-by: Ralf Baechle --- diff --git a/arch/mips/kernel/smp.c b/arch/mips/kernel/smp.c index 7b59cfb7e60..b79ea7055ec 100644 --- a/arch/mips/kernel/smp.c +++ b/arch/mips/kernel/smp.c @@ -163,8 +163,10 @@ static void stop_this_cpu(void *dummy) * Remove this CPU: */ cpu_clear(smp_processor_id(), cpu_online_map); - local_irq_enable(); /* May need to service _machine_restart IPI */ - for (;;); /* Wait if available. */ + for (;;) { + if (cpu_wait) + (*cpu_wait)(); /* Wait if available. */ + } } void smp_send_stop(void)