On Jul 07 2026, Mukesh Kumar Chaurasiya wrote:

> diff --git a/arch/powerpc/include/asm/entry-common.h 
> b/arch/powerpc/include/asm/entry-common.h
> index fc636c42e89a..b6373bae4524 100644
> --- a/arch/powerpc/include/asm/entry-common.h
> +++ b/arch/powerpc/include/asm/entry-common.h
> @@ -286,14 +286,6 @@ static inline void 
> arch_interrupt_async_enter_prepare(struct pt_regs *regs)
>  
>  static inline void arch_interrupt_async_exit_prepare(struct pt_regs *regs)
>  {
> -       /*
> -        * Adjust at exit so the main handler sees the true NIA. This must
> -        * come before irq_exit() because irq_exit can enable interrupts, and
> -        * if another interrupt is taken before nap_adjust_return has run
> -        * here, then that interrupt would return directly to idle nap return.
> -        */
> -       nap_adjust_return(regs);
> -
>         arch_interrupt_exit_prepare(regs);
>  }
>  
> diff --git a/arch/powerpc/include/asm/interrupt.h 
> b/arch/powerpc/include/asm/interrupt.h
> index fb42a664ae54..1b45a49e9bed 100644
> --- a/arch/powerpc/include/asm/interrupt.h
> +++ b/arch/powerpc/include/asm/interrupt.h
> @@ -246,6 +246,7 @@ interrupt_handler void func(struct pt_regs *regs)         
>           \
>         instrumentation_begin();                                        \
>         irq_enter_rcu();                                                \
>         ____##func (regs);                                              \
> +       nap_adjust_return(regs);                                        \
>         irq_exit_rcu();                                                 \
>         instrumentation_end();                                          \
>         arch_interrupt_async_exit_prepare(regs);                        \

This allows the system to boot normally.

-- 
Andreas Schwab, [email protected]
GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510  2552 DF73 E780 A9DA AEC1
"And now for something completely different."

Reply via email to