Re: [PATCH] MIPS: IRQ Stack: Fix erroneous jal to plat_irq_dispatch

From: James Hogan
Date: Sat Feb 11 2017 - 16:50:06 EST


On Wed, Jan 25, 2017 at 05:00:25PM +0000, Matt Redfearn wrote:
> Commit dda45f701c9d ("MIPS: Switch to the irq_stack in interrupts")
> changed both the normal and vectored interrupt handlers. Unfortunately
> the vectored version, "except_vec_vi_handler", was incorrectly modified
> to unconditionally jal to plat_irq_dispatch, rather than doing a jalr to
> the vectored handler that has been set up. This is ok for many platforms
> which set the vectored handler to plat_irq_dispatch anyway, but will
> cause problems with platforms that use other handlers.
>
> Fixes: dda45f701c9d ("MIPS: Switch to the irq_stack in interrupts")
> Signed-off-by: Matt Redfearn <matt.redfearn@xxxxxxxxxx>

Applied

Thanks
James

> ---
>
> Ralf, if possible please could you squash this?
>
> ---
> arch/mips/kernel/genex.S | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/mips/kernel/genex.S b/arch/mips/kernel/genex.S
> index 0a7ba4b2f687..7ec9612cb007 100644
> --- a/arch/mips/kernel/genex.S
> +++ b/arch/mips/kernel/genex.S
> @@ -329,7 +329,7 @@ NESTED(except_vec_vi_handler, 0, sp)
> PTR_ADD sp, t0, t1
>
> 2:
> - jal plat_irq_dispatch
> + jalr v0
>
> /* Restore sp */
> move sp, s1
> --
> 2.7.4
>

Attachment: signature.asc
Description: Digital signature