aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/mips/kernel/smp.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/mips/kernel/smp.c b/arch/mips/kernel/smp.c
index 7b59cfb7e602..b79ea7055ec3 100644
--- a/arch/mips/kernel/smp.c
+++ b/arch/mips/kernel/smp.c
@@ -163,8 +163,10 @@ static void stop_this_cpu(void *dummy)
163 * Remove this CPU: 163 * Remove this CPU:
164 */ 164 */
165 cpu_clear(smp_processor_id(), cpu_online_map); 165 cpu_clear(smp_processor_id(), cpu_online_map);
166 local_irq_enable(); /* May need to service _machine_restart IPI */ 166 for (;;) {
167 for (;;); /* Wait if available. */ 167 if (cpu_wait)
168 (*cpu_wait)(); /* Wait if available. */
169 }
168} 170}
169 171
170void smp_send_stop(void) 172void smp_send_stop(void)