diff options
Diffstat (limited to 'include/asm-mips/system.h')
-rw-r--r-- | include/asm-mips/system.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/include/asm-mips/system.h b/include/asm-mips/system.h index 76339165bc20..eba2e3da9abe 100644 --- a/include/asm-mips/system.h +++ b/include/asm-mips/system.h | |||
@@ -117,7 +117,7 @@ static inline unsigned long __xchg_u32(volatile int * m, unsigned int val) | |||
117 | raw_local_irq_restore(flags); /* implies memory barrier */ | 117 | raw_local_irq_restore(flags); /* implies memory barrier */ |
118 | } | 118 | } |
119 | 119 | ||
120 | smp_mb(); | 120 | smp_llsc_mb(); |
121 | 121 | ||
122 | return retval; | 122 | return retval; |
123 | } | 123 | } |
@@ -165,7 +165,7 @@ static inline __u64 __xchg_u64(volatile __u64 * m, __u64 val) | |||
165 | raw_local_irq_restore(flags); /* implies memory barrier */ | 165 | raw_local_irq_restore(flags); /* implies memory barrier */ |
166 | } | 166 | } |
167 | 167 | ||
168 | smp_mb(); | 168 | smp_llsc_mb(); |
169 | 169 | ||
170 | return retval; | 170 | return retval; |
171 | } | 171 | } |
@@ -246,7 +246,7 @@ static inline unsigned long __cmpxchg_u32(volatile int * m, unsigned long old, | |||
246 | raw_local_irq_restore(flags); /* implies memory barrier */ | 246 | raw_local_irq_restore(flags); /* implies memory barrier */ |
247 | } | 247 | } |
248 | 248 | ||
249 | smp_mb(); | 249 | smp_llsc_mb(); |
250 | 250 | ||
251 | return retval; | 251 | return retval; |
252 | } | 252 | } |
@@ -352,7 +352,7 @@ static inline unsigned long __cmpxchg_u64(volatile int * m, unsigned long old, | |||
352 | raw_local_irq_restore(flags); /* implies memory barrier */ | 352 | raw_local_irq_restore(flags); /* implies memory barrier */ |
353 | } | 353 | } |
354 | 354 | ||
355 | smp_mb(); | 355 | smp_llsc_mb(); |
356 | 356 | ||
357 | return retval; | 357 | return retval; |
358 | } | 358 | } |