]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.10-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 17 Jan 2014 19:23:14 +0000 (11:23 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 17 Jan 2014 19:23:14 +0000 (11:23 -0800)
added patches:
arm-7815-1-kexec-offline-non-panic-cpus-on-kdump-panic.patch

queue-3.10/arm-7815-1-kexec-offline-non-panic-cpus-on-kdump-panic.patch [new file with mode: 0644]
queue-3.10/series [new file with mode: 0644]

diff --git a/queue-3.10/arm-7815-1-kexec-offline-non-panic-cpus-on-kdump-panic.patch b/queue-3.10/arm-7815-1-kexec-offline-non-panic-cpus-on-kdump-panic.patch
new file mode 100644 (file)
index 0000000..a2234b7
--- /dev/null
@@ -0,0 +1,45 @@
+From 4f9b4fb7a2091eec339413a460b1665758401828 Mon Sep 17 00:00:00 2001
+From: Vijaya Kumar K <vijay.kilari@gmail.com>
+Date: Wed, 14 Aug 2013 13:28:28 +0100
+Subject: ARM: 7815/1: kexec: offline non panic CPUs on Kdump panic
+
+From: Vijaya Kumar K <vijay.kilari@gmail.com>
+
+commit 4f9b4fb7a2091eec339413a460b1665758401828 upstream.
+
+In case of normal kexec kernel load, all cpu's are offlined
+before calling machine_kexec().But in case crash panic cpus
+are relaxed in machine_crash_nonpanic_core() SMP function
+but not offlined.
+
+When crash kernel is loaded with kexec and on panic trigger
+machine_kexec() checks for number of cpus online.
+If more than one cpu is online machine_kexec() fails to load
+with below error
+
+kexec: error: multiple CPUs still online
+
+In machine_crash_nonpanic_core() SMP function, offline CPU
+before cpu_relax
+
+Signed-off-by: Vijaya Kumar K <Vijaya.Kumar@caviumnetworks.com>
+Acked-by: Stephen Warren <swarren@wwwdotorg.org>
+Acked-by: Will Deacon <will.deacon@arm.com>
+Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
+Cc: l00221744 <sdu.liu@huawei.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/arm/kernel/machine_kexec.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/arch/arm/kernel/machine_kexec.c
++++ b/arch/arm/kernel/machine_kexec.c
+@@ -73,6 +73,7 @@ void machine_crash_nonpanic_core(void *u
+       crash_save_cpu(&regs, smp_processor_id());
+       flush_cache_all();
++      set_cpu_online(smp_processor_id(), false);
+       atomic_dec(&waiting_for_crash_ipi);
+       while (1)
+               cpu_relax();
diff --git a/queue-3.10/series b/queue-3.10/series
new file mode 100644 (file)
index 0000000..ea72478
--- /dev/null
@@ -0,0 +1 @@
+arm-7815-1-kexec-offline-non-panic-cpus-on-kdump-panic.patch