diff options
-rw-r--r-- | arch/mips/kernel/branch.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/mips/kernel/branch.c b/arch/mips/kernel/branch.c index b11facd11c9d..f702a459a830 100644 --- a/arch/mips/kernel/branch.c +++ b/arch/mips/kernel/branch.c | |||
@@ -804,8 +804,10 @@ int __compute_return_epc_for_insn(struct pt_regs *regs, | |||
804 | break; | 804 | break; |
805 | } | 805 | } |
806 | /* Compact branch: BNEZC || JIALC */ | 806 | /* Compact branch: BNEZC || JIALC */ |
807 | if (insn.i_format.rs) | 807 | if (!insn.i_format.rs) { |
808 | /* JIALC: set $31/ra */ | ||
808 | regs->regs[31] = epc + 4; | 809 | regs->regs[31] = epc + 4; |
810 | } | ||
809 | regs->cp0_epc += 8; | 811 | regs->cp0_epc += 8; |
810 | break; | 812 | break; |
811 | #endif | 813 | #endif |