Home Home > GIT Browse
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichal Suchanek <msuchanek@suse.de>2019-10-03 20:00:39 +0200
committerMichal Suchanek <msuchanek@suse.de>2019-10-03 20:01:05 +0200
commitd2ea3169c89edccb300180e0dc4b7edf1a47ea6f (patch)
tree9ab0fa62e66acba27911ce94dc4c6b68254d213c
parentcde2566e427359f57fe2953b267d2ea8413bb69a (diff)
powerpc/irq: Don't WARN continuously in arch_local_irq_restore()
(bsc#1065729).
-rw-r--r--patches.suse/powerpc-irq-Don-t-WARN-continuously-in-arch_local_ir.patch38
-rw-r--r--series.conf1
2 files changed, 39 insertions, 0 deletions
diff --git a/patches.suse/powerpc-irq-Don-t-WARN-continuously-in-arch_local_ir.patch b/patches.suse/powerpc-irq-Don-t-WARN-continuously-in-arch_local_ir.patch
new file mode 100644
index 0000000000..92ea8222da
--- /dev/null
+++ b/patches.suse/powerpc-irq-Don-t-WARN-continuously-in-arch_local_ir.patch
@@ -0,0 +1,38 @@
+From 0fc12c022ad25532b66bf6f6c818ee1c1d63e702 Mon Sep 17 00:00:00 2001
+From: Michael Ellerman <mpe@ellerman.id.au>
+Date: Mon, 8 Jul 2019 16:02:19 +1000
+Subject: [PATCH] powerpc/irq: Don't WARN continuously in
+ arch_local_irq_restore()
+
+References: bsc#1065729
+Patch-mainline: v5.3-rc1
+Git-commit: 0fc12c022ad25532b66bf6f6c818ee1c1d63e702
+
+When CONFIG_PPC_IRQ_SOFT_MASK_DEBUG is enabled (uncommon), we have a
+series of WARN_ON's in arch_local_irq_restore().
+
+These are "should never happen" conditions, but if they do happen they
+can flood the console and render the system unusable. So switch them
+to WARN_ON_ONCE().
+
+Fixes: e2b36d591720 ("powerpc/64: Don't trace code that runs with the soft irq mask unreconciled")
+Fixes: 9b81c0211c24 ("powerpc/64s: make PACA_IRQ_HARD_DIS track MSR[EE] closely")
+Fixes: 7c0482e3d055 ("powerpc/irq: Fix another case of lazy IRQ state getting out of sync")
+Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
+Link: https://lore.kernel.org/r/20190708061046.7075-1-mpe@ellerman.id.au
+Acked-by: Michal Suchanek <msuchanek@suse.de>
+---
+ arch/powerpc/kernel/irq.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+--- a/arch/powerpc/kernel/irq.c
++++ b/arch/powerpc/kernel/irq.c
+@@ -265,7 +265,7 @@ notrace void arch_local_irq_restore(unsi
+ * warn if we are wrong. Only do that when IRQ tracing
+ * is enabled as mfmsr() can be costly.
+ */
+- if (WARN_ON(mfmsr() & MSR_EE))
++ if (WARN_ON_ONCE(mfmsr() & MSR_EE))
+ __hard_irq_disable();
+ }
+ #endif /* CONFIG_TRACE_IRQFLAGS */
diff --git a/series.conf b/series.conf
index d4f4dbe38d..08bc480cd7 100644
--- a/series.conf
+++ b/series.conf
@@ -24104,6 +24104,7 @@
patches.suse/powerpc-mm-Consolidate-numa_enable-check-and-min_com.patch
patches.suse/powerpc-mm-Handle-page-table-allocation-failures.patch
patches.suse/powerpc-module64-Fix-comment-in-R_PPC64_ENTRY-handli.patch
+ patches.suse/powerpc-irq-Don-t-WARN-continuously-in-arch_local_ir.patch
patches.suse/mailbox-handle-failed-named-mailbox-channel-request.patch
patches.suse/platform-x86-asus-wmi-Only-Tell-EC-the-OS-will-handl.patch
patches.suse/platform-x86-pmc_atom-Add-CB4063-Beckhoff-Automation.patch