Skip to content

Commit 14f7c67

Browse files
npiggingregkh
authored andcommitted
powerpc/64: fix irq replay pt_regs->softe value
[ Upstream commit 2b48e96 ] Replayed interrupts get an "artificial" struct pt_regs constructed to pass to interrupt handler functions. This did not get the softe field set correctly, it's as though the interrupt has hit while irqs are disabled. It should be IRQS_ENABLED. This is possibly harmless, asynchronous handlers should not be testing if irqs were disabled, but it might be possible for example some code is shared with synchronous or NMI handlers, and it makes more sense if debug output looks at this. Fixes: 3282a3d ("powerpc/64: Implement soft interrupt replay in C") Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20200915114650.3980244-2-npiggin@gmail.com Signed-off-by: Sasha Levin <sashal@kernel.org>
1 parent 7392e4d commit 14f7c67

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

arch/powerpc/kernel/irq.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ void replay_soft_interrupts(void)
214214
struct pt_regs regs;
215215

216216
ppc_save_regs(&regs);
217-
regs.softe = IRQS_ALL_DISABLED;
217+
regs.softe = IRQS_ENABLED;
218218

219219
again:
220220
if (IS_ENABLED(CONFIG_PPC_IRQ_SOFT_MASK_DEBUG))

0 commit comments

Comments
 (0)