summaryrefslogtreecommitdiff
path: root/arch/powerpc/kernel/interrupt.c
diff options
context:
space:
mode:
authorMichael Ellerman <mpe@ellerman.id.au>2023-02-12 22:11:56 +1100
committerMichael Ellerman <mpe@ellerman.id.au>2023-02-12 22:11:56 +1100
commitfc8a898cfdbb0e63cfde547715c2031de22e7893 (patch)
treee1eaae008d673bb68cdc003d72eadc4ba5535a18 /arch/powerpc/kernel/interrupt.c
parent544f823ec7a34332550f22735959d3e1ffcf4684 (diff)
parent2ea31e2e62bbc4d11c411eeb36f1b02841dbcab1 (diff)
downloadlinux-fc8a898cfdbb0e63cfde547715c2031de22e7893.tar.gz
linux-fc8a898cfdbb0e63cfde547715c2031de22e7893.tar.bz2
linux-fc8a898cfdbb0e63cfde547715c2031de22e7893.zip
Merge branch 'fixes' into next
Merge our fixes branch to bring in some changes that conflict with upcoming next content.
Diffstat (limited to 'arch/powerpc/kernel/interrupt.c')
-rw-r--r--arch/powerpc/kernel/interrupt.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/powerpc/kernel/interrupt.c b/arch/powerpc/kernel/interrupt.c
index fc6631a80527..0ec1581619db 100644
--- a/arch/powerpc/kernel/interrupt.c
+++ b/arch/powerpc/kernel/interrupt.c
@@ -50,16 +50,18 @@ static inline bool exit_must_hard_disable(void)
*/
static notrace __always_inline bool prep_irq_for_enabled_exit(bool restartable)
{
+ bool must_hard_disable = (exit_must_hard_disable() || !restartable);
+
/* This must be done with RI=1 because tracing may touch vmaps */
trace_hardirqs_on();
- if (exit_must_hard_disable() || !restartable)
+ if (must_hard_disable)
__hard_EE_RI_disable();
#ifdef CONFIG_PPC64
/* This pattern matches prep_irq_for_idle */
if (unlikely(lazy_irq_pending_nocheck())) {
- if (exit_must_hard_disable() || !restartable) {
+ if (must_hard_disable) {
local_paca->irq_happened |= PACA_IRQ_HARD_DIS;
__hard_RI_enable();
}