浏览代码

CRIS: Fixup lookup for delay slot faults

Signed-off-by: Jesper Nilsson <jesper.nilsson@axis.com>
Jesper Nilsson 15 年之前
父节点
当前提交
a90993c693
共有 1 个文件被更改,包括 4 次插入1 次删除
  1. 4 1
      arch/cris/mm/fault.c

+ 4 - 1
arch/cris/mm/fault.c

@@ -334,8 +334,11 @@ int
 find_fixup_code(struct pt_regs *regs)
 {
 	const struct exception_table_entry *fixup;
+	/* in case of delay slot fault (v32) */
+	unsigned long ip = (instruction_pointer(regs) & ~0x1);
 
-	if ((fixup = search_exception_tables(instruction_pointer(regs))) != 0) {
+	fixup = search_exception_tables(ip);
+	if (fixup != 0) {
 		/* Adjust the instruction pointer in the stackframe. */
 		instruction_pointer(regs) = fixup->fixup;
 		arch_fixup(regs);