Openwrt/target/linux/generic-2.4/patches/115-branch_emul_fix.patch

12 lines
335 B
Diff
Raw Normal View History

--- a/arch/mips/kernel/branch.c
+++ b/arch/mips/kernel/branch.c
@@ -170,7 +170,7 @@ int __compute_return_epc(struct pt_regs
bit = (insn.i_format.rt >> 2);
bit += (bit != 0);
bit += 23;
- switch (insn.i_format.rt) {
+ switch (insn.i_format.rt & 3) {
case 0: /* bc1f */
case 2: /* bc1fl */
if (~fcr31 & (1 << bit))