arch/sh/kernel/traps_64.c: use sign_extend64() for sign extension
[firefly-linux-kernel-4.4.55.git] / arch / sh / kernel / cpu / sh5 / unwind.c
index 10aed41757fc8247f9e1c271623907b31192607b..3a4fed406fc615b27d48088c2f35396b788dd779 100644 (file)
@@ -159,7 +159,7 @@ static int lookup_prev_stack_frame(unsigned long fp, unsigned long pc,
 
                        /* Sign extend */
                        regcache[dest] =
-                               ((((s64)(u64)op >> 10) & 0xffff) << 54) >> 54;
+                               sign_extend64((((u64)op >> 10) & 0xffff), 9);
                        break;
                case (0xd0 >> 2): /* addi */
                case (0xd4 >> 2): /* addi.l */