summaryrefslogtreecommitdiffstats
path: root/arch/arm/kernel/smp.c
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2014-01-11 12:25:37 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2014-01-21 17:42:14 +0100
commit668bc38669f9a6d5e91846e9435b22b196cee9d1 (patch)
tree046fcce2bb5b90725e9cf35a5f69cfcf3ee33749 /arch/arm/kernel/smp.c
parentARM: ignore memory below PHYS_OFFSET (diff)
downloadlinux-668bc38669f9a6d5e91846e9435b22b196cee9d1.tar.xz
linux-668bc38669f9a6d5e91846e9435b22b196cee9d1.zip
ARM: SMP implementations are not supposed to return from smp_ops.cpu_die()
Although we allow recovery in this case, this is not supposed to be the normal path for hotplugging a CPU back in. This path only exists to serve those rare platforms where it's not possible to power down the CPU or reset the CPU. This patch causes the kernel to print a message when a platform uses this path. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/kernel/smp.c')
-rw-r--r--arch/arm/kernel/smp.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c
index 8c61325b8bfc..b7b4c86e338b 100644
--- a/arch/arm/kernel/smp.c
+++ b/arch/arm/kernel/smp.c
@@ -293,6 +293,9 @@ void __ref cpu_die(void)
if (smp_ops.cpu_die)
smp_ops.cpu_die(cpu);
+ pr_warn("CPU%u: smp_ops.cpu_die() returned, trying to resuscitate\n",
+ cpu);
+
/*
* Do not return to the idle loop - jump back to the secondary
* cpu initialisation. There's some initialisation which needs