]> bbs.cooldavid.org Git - net-next-2.6.git/commitdiff
CRIS: Fixup lookup for delay slot faults
authorJesper Nilsson <jesper.nilsson@axis.com>
Wed, 4 Aug 2010 12:39:01 +0000 (14:39 +0200)
committerJesper Nilsson <jesper.nilsson@axis.com>
Wed, 4 Aug 2010 16:28:47 +0000 (18:28 +0200)
Signed-off-by: Jesper Nilsson <jesper.nilsson@axis.com>
arch/cris/mm/fault.c

index 52b32b092603c5637057fee04271d91942791c52..72dbdbf0accf115fe8de773dbdd81b2d17fb8311 100644 (file)
@@ -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);