diff options
Diffstat (limited to 'arch/mips/include/asm/switch_to.h')
-rw-r--r-- | arch/mips/include/asm/switch_to.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/arch/mips/include/asm/switch_to.h b/arch/mips/include/asm/switch_to.h index b928b6f898cd..e92d6c4b5ed1 100644 --- a/arch/mips/include/asm/switch_to.h +++ b/arch/mips/include/asm/switch_to.h | |||
@@ -75,9 +75,12 @@ do { \ | |||
75 | #endif | 75 | #endif |
76 | 76 | ||
77 | #define __clear_software_ll_bit() \ | 77 | #define __clear_software_ll_bit() \ |
78 | do { \ | 78 | do { if (cpu_has_rw_llb) { \ |
79 | if (!__builtin_constant_p(cpu_has_llsc) || !cpu_has_llsc) \ | 79 | write_c0_lladdr(0); \ |
80 | ll_bit = 0; \ | 80 | } else { \ |
81 | if (!__builtin_constant_p(cpu_has_llsc) || !cpu_has_llsc)\ | ||
82 | ll_bit = 0; \ | ||
83 | } \ | ||
81 | } while (0) | 84 | } while (0) |
82 | 85 | ||
83 | #define switch_to(prev, next, last) \ | 86 | #define switch_to(prev, next, last) \ |