trap->regs == 0x3000 is trap_is_scv() trap 0x500 is INTERRUPT_EXTERNAL
Signed-off-by: Christophe Leroy <christophe.le...@csgroup.eu> --- arch/powerpc/kernel/interrupt.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/powerpc/kernel/interrupt.c b/arch/powerpc/kernel/interrupt.c index 1b4a99ecb7e5..0052702ee5ac 100644 --- a/arch/powerpc/kernel/interrupt.c +++ b/arch/powerpc/kernel/interrupt.c @@ -222,12 +222,12 @@ static void check_return_regs_valid(struct pt_regs *regs) u8 *validp; char *h; - if (regs->trap == 0x3000) + if (trap_is_scv(regs)) return; trap = regs->trap; // EE in HV mode sets HSRRs like 0xea0 - if (cpu_has_feature(CPU_FTR_HVMODE) && trap == 0x500) + if (cpu_has_feature(CPU_FTR_HVMODE) && trap == INTERRUPT_EXTERNAL) trap = 0xea0; switch (trap) { -- 2.25.0