powerpc/irq: Simplify __do_irq()

Remove duplicated code by implementing a proper if/else.

Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/5a3b21311191f1240850db6ab29b19ac7885fe03.1654769775.git.christophe.leroy@csgroup.eu
This commit is contained in:
Christophe Leroy 2022-06-09 12:16:42 +02:00 committed by Michael Ellerman
parent e90855be9e
commit 78f1c24abd
1 changed files with 4 additions and 7 deletions

View File

@ -281,14 +281,11 @@ void __do_IRQ(struct pt_regs *regs)
irqsp = hardirq_ctx[raw_smp_processor_id()];
sirqsp = softirq_ctx[raw_smp_processor_id()];
/* Already there ? */
if (unlikely(cursp == irqsp || cursp == sirqsp)) {
/* Already there ? If not switch stack and call */
if (unlikely(cursp == irqsp || cursp == sirqsp))
__do_irq(regs, current_stack_pointer);
set_irq_regs(old_regs);
return;
}
/* Switch stack and call */
call_do_irq(regs, irqsp);
else
call_do_irq(regs, irqsp);
set_irq_regs(old_regs);
}