From: Phil Edworthy Date: Mon, 22 Aug 2011 15:56:08 +0000 (+0000) Subject: sh: Fix unaligned memory access for branches without delay slots X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=0710b91c516ffd448db6e80e9026f11778a80d45;p=linux.git sh: Fix unaligned memory access for branches without delay slots This patch just clears the return code for those cases where an unaligned memory access occurs on branch instructions without a delay slot. Signed-off-by: Phil Edworthy Signed-off-by: Paul Mundt --- diff --git a/arch/sh/kernel/traps_32.c b/arch/sh/kernel/traps_32.c index d9006f8ffc142..61fa4a5bc72b7 100644 --- a/arch/sh/kernel/traps_32.c +++ b/arch/sh/kernel/traps_32.c @@ -466,6 +466,7 @@ int handle_unaligned_access(insn_size_t instruction, struct pt_regs *regs, case 0x0500: /* mov.w @(disp,Rm),R0 */ goto simple; case 0x0B00: /* bf lab - no delayslot*/ + ret = 0; break; case 0x0F00: /* bf/s lab */ ret = handle_delayslot(regs, instruction, ma); @@ -479,6 +480,7 @@ int handle_unaligned_access(insn_size_t instruction, struct pt_regs *regs, } break; case 0x0900: /* bt lab - no delayslot */ + ret = 0; break; case 0x0D00: /* bt/s lab */ ret = handle_delayslot(regs, instruction, ma);