aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Thompson <daniel.thompson@linaro.org>2015-12-16 11:49:24 +0000
committerDaniel Thompson <daniel.thompson@linaro.org>2015-12-16 16:22:13 +0000
commit5d2b2d9c3a7d37a0b52701159593974e315b8ff8 (patch)
tree54c44a5a0c12aa57cf62f9089db0249f56c46bf4
parentbd190146393d6e05b0ffa2e62b2dd9b4f40c6972 (diff)
downloadlinux-5d2b2d9c3a7d37a0b52701159593974e315b8ff8.tar.gz
arm: Fix "NMI" backtrace for Inforce IFC6410
SysRq-L does not generate a backtrace from all CPUs when I test it on my Inforce IFC6410 platform (Snapdragon 600). The stack dump code, triggered by IPI_CPU_BACKTRACE, never runs on the other CPUs. Eventually we hit the 10 second timeout and a subset of the expected stack dumps on are shown on the console. It is likely this is because SGI IDs 14 and 15 have been reserved for use by secure world on this platform. For IFC6410 platform the code works as expected when IPI_CPU_BACKTRACE is set to any value in the interval 9..13. Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
-rw-r--r--arch/arm/kernel/smp.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c
index b26361355dae..78205927fcd4 100644
--- a/arch/arm/kernel/smp.c
+++ b/arch/arm/kernel/smp.c
@@ -73,7 +73,8 @@ enum ipi_msg_type {
IPI_CPU_STOP,
IPI_IRQ_WORK,
IPI_COMPLETION,
- IPI_CPU_BACKTRACE = 15,
+ IPI_CPU_BACKTRACE = 13,
+ /* 14 and 15 are reserved; they do not work on some Krait CPUs */
};
static DECLARE_COMPLETION(cpu_running);