--- /dev/null
+From 7962c0896429af2a0e00ec6bc15d992536453b2d Mon Sep 17 00:00:00 2001
+From: Helge Deller <deller@gmx.de>
+Date: Sat, 7 May 2022 15:32:38 +0200
+Subject: Revert "parisc: Mark sched_clock unstable only if clocks are not syncronized"
+
+From: Helge Deller <deller@gmx.de>
+
+commit 7962c0896429af2a0e00ec6bc15d992536453b2d upstream.
+
+This reverts commit d97180ad68bdb7ee10f327205a649bc2f558741d.
+
+It triggers RCU stalls at boot with a 32-bit kernel.
+
+Signed-off-by: Helge Deller <deller@gmx.de>
+Noticed-by: John David Anglin <dave.anglin@bell.net>
+Cc: stable@vger.kernel.org # v5.15+
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ arch/parisc/kernel/setup.c | 2 ++
+ arch/parisc/kernel/time.c | 6 +-----
+ 2 files changed, 3 insertions(+), 5 deletions(-)
+
+--- a/arch/parisc/kernel/setup.c
++++ b/arch/parisc/kernel/setup.c
+@@ -150,6 +150,8 @@ void __init setup_arch(char **cmdline_p)
+ #ifdef CONFIG_PA11
+ dma_ops_init();
+ #endif
++
++ clear_sched_clock_stable();
+ }
+
+ /*
+--- a/arch/parisc/kernel/time.c
++++ b/arch/parisc/kernel/time.c
+@@ -249,13 +249,9 @@ void __init time_init(void)
+ static int __init init_cr16_clocksource(void)
+ {
+ /*
+- * The cr16 interval timers are not syncronized across CPUs, even if
+- * they share the same socket.
++ * The cr16 interval timers are not synchronized across CPUs.
+ */
+ if (num_online_cpus() > 1 && !running_on_qemu) {
+- /* mark sched_clock unstable */
+- clear_sched_clock_stable();
+-
+ clocksource_cr16.name = "cr16_unstable";
+ clocksource_cr16.flags = CLOCK_SOURCE_UNSTABLE;
+ clocksource_cr16.rating = 0;