diff options
| -rw-r--r-- | include/asm-frv/system.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/include/asm-frv/system.h b/include/asm-frv/system.h index 6931af525da3..9f5663ba19f8 100644 --- a/include/asm-frv/system.h +++ b/include/asm-frv/system.h | |||
| @@ -253,7 +253,10 @@ extern uint32_t __cmpxchg_32(uint32_t *v, uint32_t test, uint32_t new); | |||
| 253 | __typeof__(*(ptr)) __xg_new = (new); \ | 253 | __typeof__(*(ptr)) __xg_new = (new); \ |
| 254 | \ | 254 | \ |
| 255 | switch (sizeof(__xg_orig)) { \ | 255 | switch (sizeof(__xg_orig)) { \ |
| 256 | case 4: __xg_orig = __cmpxchg_32(__xg_ptr, __xg_test, __xg_new); break; \ | 256 | case 4: __xg_orig = (__force __typeof__(*ptr)) \ |
| 257 | __cmpxchg_32((__force uint32_t *)__xg_ptr, \ | ||
| 258 | (__force uint32_t)__xg_test, \ | ||
| 259 | (__force uint32_t)__xg_new); break; \ | ||
| 257 | default: \ | 260 | default: \ |
| 258 | __xg_orig = 0; \ | 261 | __xg_orig = 0; \ |
| 259 | asm volatile("break"); \ | 262 | asm volatile("break"); \ |
