diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/mips/kernel/jump_label.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/mips/kernel/jump_label.c b/arch/mips/kernel/jump_label.c index 6001610cfe55..f65a843e883b 100644 --- a/arch/mips/kernel/jump_label.c +++ b/arch/mips/kernel/jump_label.c | |||
@@ -27,8 +27,8 @@ void arch_jump_label_transform(struct jump_entry *e, | |||
27 | union mips_instruction *insn_p = | 27 | union mips_instruction *insn_p = |
28 | (union mips_instruction *)(unsigned long)e->code; | 28 | (union mips_instruction *)(unsigned long)e->code; |
29 | 29 | ||
30 | /* Jump only works within a 256MB aligned region. */ | 30 | /* Jump only works within a 256MB aligned region of its delay slot. */ |
31 | BUG_ON((e->target & ~J_RANGE_MASK) != (e->code & ~J_RANGE_MASK)); | 31 | BUG_ON((e->target & ~J_RANGE_MASK) != ((e->code + 4) & ~J_RANGE_MASK)); |
32 | 32 | ||
33 | /* Target must have 4 byte alignment. */ | 33 | /* Target must have 4 byte alignment. */ |
34 | BUG_ON((e->target & 3) != 0); | 34 | BUG_ON((e->target & 3) != 0); |