summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Gortmaker <paul.gortmaker@windriver.com>2018-07-25 15:13:40 -0400
committerPaul Gortmaker <paul.gortmaker@windriver.com>2018-07-25 15:13:40 -0400
commit8b7fc0810667a7d29fc59d6bf754bc747c7ce91c (patch)
treede3f1d64905422987a5b0469948dc565f49b7e20
parenta6181681a7da7785b3c7746eb8b6c8a1b72c24e4 (diff)
downloadlongterm-queue-4.12-8b7fc0810667a7d29fc59d6bf754bc747c7ce91c.tar.gz
powerpc: add fix for fixes
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
-rw-r--r--queue/powerpc-Don-t-preempt_disable-in-show_cpuinfo.patch48
-rw-r--r--queue/series1
2 files changed, 49 insertions, 0 deletions
diff --git a/queue/powerpc-Don-t-preempt_disable-in-show_cpuinfo.patch b/queue/powerpc-Don-t-preempt_disable-in-show_cpuinfo.patch
new file mode 100644
index 0000000..086c80f
--- /dev/null
+++ b/queue/powerpc-Don-t-preempt_disable-in-show_cpuinfo.patch
@@ -0,0 +1,48 @@
+From 349524bc0da698ec77f2057cf4a4948eb6349265 Mon Sep 17 00:00:00 2001
+From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
+Date: Wed, 10 Jan 2018 17:10:12 +1100
+Subject: [PATCH] powerpc: Don't preempt_disable() in show_cpuinfo()
+
+commit 349524bc0da698ec77f2057cf4a4948eb6349265 upstream.
+
+This causes warnings from cpufreq mutex code. This is also rather
+unnecessary and ineffective. If we really want to prevent concurrent
+unplug, we could take the unplug read lock but I don't see this being
+critical.
+
+Fixes: cd77b5ce208c ("powerpc/powernv/cpufreq: Fix the frequency read by /proc/cpuinfo")
+Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
+Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
+
+diff --git a/arch/powerpc/kernel/setup-common.c b/arch/powerpc/kernel/setup-common.c
+index 9d213542a48b..8fd3a70047f1 100644
+--- a/arch/powerpc/kernel/setup-common.c
++++ b/arch/powerpc/kernel/setup-common.c
+@@ -242,14 +242,6 @@ static int show_cpuinfo(struct seq_file *m, void *v)
+ unsigned short maj;
+ unsigned short min;
+
+- /* We only show online cpus: disable preempt (overzealous, I
+- * knew) to prevent cpu going down. */
+- preempt_disable();
+- if (!cpu_online(cpu_id)) {
+- preempt_enable();
+- return 0;
+- }
+-
+ #ifdef CONFIG_SMP
+ pvr = per_cpu(cpu_pvr, cpu_id);
+ #else
+@@ -358,9 +350,6 @@ static int show_cpuinfo(struct seq_file *m, void *v)
+ #ifdef CONFIG_SMP
+ seq_printf(m, "\n");
+ #endif
+-
+- preempt_enable();
+-
+ /* If this is the last cpu, print the summary */
+ if (cpumask_next(cpu_id, cpu_online_mask) >= nr_cpu_ids)
+ show_cpuinfo_summary(m);
+--
+2.15.0
+
diff --git a/queue/series b/queue/series
index 7395a62..ff54199 100644
--- a/queue/series
+++ b/queue/series
@@ -37,6 +37,7 @@ ASoC-Intel-Skylake-Fix-uuid_module-memory-leak-in-fa.patch
dmaengine-ti-dma-crossbar-Correct-am335x-am43xx-mux-.patch
PCI-PME-Handle-invalid-data-when-reading-Root-Status.patch
powerpc-powernv-cpufreq-Fix-the-frequency-read-by-pr.patch
+powerpc-Don-t-preempt_disable-in-show_cpuinfo.patch
PCI-Do-not-allocate-more-buses-than-available-in-par.patch
PCI-dwc-Fix-enumeration-end-when-reaching-root-subor.patch
iommu-mediatek-Fix-driver-name.patch