diff options
author | Nicholas Piggin <npiggin@gmail.com> | 2022-03-08 23:50:37 +1000 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2022-05-19 23:11:27 +1000 |
commit | c5a65e0a420d50655bf692fc7386813683c0cd81 (patch) | |
tree | e2c58770330f20b10959c70b9137b0a8f5a0d83a /arch/powerpc/kernel/rtas.c | |
parent | 4e949faae2bd42783a2b2b732b7bf17557d94cfb (diff) | |
download | linux-c5a65e0a420d50655bf692fc7386813683c0cd81.tar.gz |
powerpc/rtas: Call enter_rtas with MSR[EE] disabled
Disable MSR[EE] in C code rather than asm.
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Reviewed-by: Laurent Dufour <ldufour@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20220308135047.478297-5-npiggin@gmail.com
Diffstat (limited to 'arch/powerpc/kernel/rtas.c')
-rw-r--r-- | arch/powerpc/kernel/rtas.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/rtas.c b/arch/powerpc/kernel/rtas.c index 03d173b1e599..c1403dc4fd66 100644 --- a/arch/powerpc/kernel/rtas.c +++ b/arch/powerpc/kernel/rtas.c @@ -59,6 +59,10 @@ static inline void do_enter_rtas(unsigned long args) msr = mfmsr(); BUG_ON(!(msr & MSR_RI)); + BUG_ON(!irqs_disabled()); + + hard_irq_disable(); /* Ensure MSR[EE] is disabled on PPC64 */ + enter_rtas(args); srr_regs_clobbered(); /* rtas uses SRRs, invalidate */ |