Browse Source

MIPS: SMP: Don't reenable interrupts in stop_this_cpu; use WAIT instruction.

Noticed by Anirban Sinha <ASinha@zeugmasystems.com>; patch by me.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle 16 years ago
parent
commit
7920c4d658
1 changed files with 4 additions and 2 deletions
  1. 4 2
      arch/mips/kernel/smp.c

+ 4 - 2
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)