Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c25f8064 authored by Matt Redfearn's avatar Matt Redfearn Committed by James Hogan
Browse files

MIPS: IRQ Stack: Fix erroneous jal to plat_irq_dispatch



Commit dda45f70 ("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: dda45f70 ("MIPS: Switch to the irq_stack in interrupts")
Signed-off-by: default avatarMatt Redfearn <matt.redfearn@imgtec.com>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Paul Burton <paul.burton@imgtec.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/15110/


Signed-off-by: default avatarJames Hogan <james.hogan@imgtec.com>
parent 6e5b95cd
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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