summaryrefslogtreecommitdiffstats
path: root/arch/parisc/kernel/entry.S
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2021-02-12 12:54:51 +0100
committerIngo Molnar <mingo@kernel.org>2021-02-12 12:54:58 +0100
commit62137364e3e8afcc745846c5c67cacf943149073 (patch)
tree42f2bdee6b16e383b6e0a94cb3abc62f335d721a /arch/parisc/kernel/entry.S
parentcheckpatch: Don't check for mutex_trylock_recursive() (diff)
parentMerge tag 'powerpc-5.11-8' of git://git.kernel.org/pub/scm/linux/kernel/git/p... (diff)
downloadlinux-62137364e3e8afcc745846c5c67cacf943149073.tar.xz
linux-62137364e3e8afcc745846c5c67cacf943149073.zip
Merge branch 'linus' into locking/core, to pick up upstream fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'arch/parisc/kernel/entry.S')
-rw-r--r--arch/parisc/kernel/entry.S13
1 files changed, 10 insertions, 3 deletions
diff --git a/arch/parisc/kernel/entry.S b/arch/parisc/kernel/entry.S
index beba9816cc6c..4d37cc9cba37 100644
--- a/arch/parisc/kernel/entry.S
+++ b/arch/parisc/kernel/entry.S
@@ -997,10 +997,17 @@ intr_do_preempt:
bb,<,n %r20, 31 - PSW_SM_I, intr_restore
nop
+ /* ssm PSW_SM_I done later in intr_restore */
+#ifdef CONFIG_MLONGCALLS
+ ldil L%intr_restore, %r2
+ load32 preempt_schedule_irq, %r1
+ bv %r0(%r1)
+ ldo R%intr_restore(%r2), %r2
+#else
+ ldil L%intr_restore, %r1
BL preempt_schedule_irq, %r2
- nop
-
- b,n intr_restore /* ssm PSW_SM_I done by intr_restore */
+ ldo R%intr_restore(%r1), %r2
+#endif
#endif /* CONFIG_PREEMPTION */
/*