[PATCH] ARM: smp: return from ipi_cpu_stop()
Ulrich Hecht
ulrich.hecht at gmail.com
Sat Jan 5 08:05:23 EST 2013
ipi_cpu_stop() is supposed to mark a CPU offline, but it's the job of the
idle thread to actually shut it down. It seems, however, that the idle
thread doesn't get a chance to run because ipi_cpu_stop() disables all
interrupts and does not return. This keeps the platform-specific shutdown
code from being executed, which causes big trouble when kexec'ing an SMP
kernel.
This patch fixes the issue by removing the endless loop. Tested on a KZM9G
board.
Signed-off-by: Ulrich Hecht <ulrich.hecht at gmail.com>
---
arch/arm/kernel/smp.c | 3 ---
1 files changed, 0 insertions(+), 3 deletions(-)
diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c
index 84f4cbf..e72b025 100644
--- a/arch/arm/kernel/smp.c
+++ b/arch/arm/kernel/smp.c
@@ -571,9 +571,6 @@ static void ipi_cpu_stop(unsigned int cpu)
local_fiq_disable();
local_irq_disable();
-
- while (1)
- cpu_relax();
}
/*
--
1.7.7
More information about the linux-arm-kernel
mailing list