summaryrefslogtreecommitdiff
path: root/arch/mips/kernel/process.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/mips/kernel/process.c')
-rw-r--r--arch/mips/kernel/process.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/mips/kernel/process.c b/arch/mips/kernel/process.c
index cdd2cd4df081..af4c862ec5ff 100644
--- a/arch/mips/kernel/process.c
+++ b/arch/mips/kernel/process.c
@@ -326,8 +326,8 @@ static inline int is_jump_ins(union mips_instruction *ip)
* microMIPS is kind of more fun...
*/
if (mm_insn_16bit(ip->word >> 16)) {
- if (ip->mm16_r5_format.opcode == mm_pool16c_op &&
- ip->mm16_r5_format.rt == mm_jr16_op)
+ if ((ip->mm16_r5_format.opcode == mm_pool16c_op &&
+ (ip->mm16_r5_format.rt & mm_jr16_op) == mm_jr16_op))
return 1;
return 0;
}
@@ -339,7 +339,7 @@ static inline int is_jump_ins(union mips_instruction *ip)
if (ip->r_format.opcode != mm_pool32a_op ||
ip->r_format.func != mm_pool32axf_op)
return 0;
- return ((ip->u_format.uimmediate >> 6) & GENMASK(9, 0)) == mm_jalr_op;
+ return ((ip->u_format.uimmediate >> 6) & mm_jalr_op) == mm_jalr_op;
#else
if (ip->j_format.opcode == j_op)
return 1;