[MIPS] ret_from_irq adjustment
Make sure that RA on top of interrupt stack is an address of ret_from_irq,
so that dump_stack etc. can trace info interrupted context.
Also this patch fixes except_vec_vi_handler and __smtc_ipi_vector which
seems broken.
Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
diff --git a/arch/mips/kernel/genex.S b/arch/mips/kernel/genex.S
index 50ed772..5baca16 100644
--- a/arch/mips/kernel/genex.S
+++ b/arch/mips/kernel/genex.S
@@ -133,9 +133,8 @@
LONG_L s0, TI_REGS($28)
LONG_S sp, TI_REGS($28)
- jal plat_irq_dispatch
- LONG_S s0, TI_REGS($28)
- j ret_from_irq
+ PTR_LA ra, ret_from_irq
+ j plat_irq_dispatch
END(handle_int)
__INIT
@@ -224,9 +223,8 @@
LONG_L s0, TI_REGS($28)
LONG_S sp, TI_REGS($28)
- jalr v0
- LONG_S s0, TI_REGS($28)
PTR_LA ra, ret_from_irq
+ jr v0
END(except_vec_vi_handler)
/*