--- zzzz-none-000/linux-2.6.32.61/arch/mips/kernel/branch.c 2013-06-10 09:43:48.000000000 +0000 +++ ar9-7330-650/linux-2.6.32.61/arch/mips/kernel/branch.c 2013-09-09 11:13:48.000000000 +0000 @@ -14,6 +14,7 @@ #include #include #include +#include #include #include @@ -28,6 +29,10 @@ union mips_instruction insn; epc = regs->cp0_epc; + + if(epc & 1) { + return __compute_return_epc_mips16(regs); + } if (epc & 3) goto unaligned; @@ -241,7 +246,6 @@ } return 0; - unaligned: printk("%s: unaligned epc - sending SIGBUS.\n", current->comm); force_sig(SIGBUS, current);