MIPS: smp: Make stop_this_cpu() actually stop the CPU
authorAndrew Bresticker <abrestic@chromium.org>
Wed, 25 Mar 2015 17:25:43 +0000 (10:25 -0700)
committerRalf Baechle <ralf@linux-mips.org>
Wed, 1 Apr 2015 15:21:58 +0000 (17:21 +0200)
commitea925a72a271f6868dddef98426b396f110da211
treef22ab20639cefba3ff69a2b3e245ac5baf8ce936
parentc1bed31f9c67f7d315ba13e6eb215fb412a33514
MIPS: smp: Make stop_this_cpu() actually stop the CPU

Since cpu_wait() enables interrupts upon return, CPUs which have
entered stop_this_cpu() may still end up handling interrupts.
This can lead to the softlockup detector firing on a panic or
restart/poweroff/halt.  Just disable interrupts and spin to ensure
nothing else runs on the CPU once it has entered stop_this_cpu().

Signed-off-by: Andrew Bresticker <abrestic@chromium.org>
Cc: James Hogan <james.hogan@imgtec.com>
Cc: Maciej W. Rozycki <macro@linux-mips.org>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/9601/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/kernel/smp.c