The return value of __invalid_xchg_size() is assigned to tmp instead of the return variable x. Assign it to x instead.
Unified · Split
| @@ -32,7 +32,7 @@ static inline unsigned long __arch_xchg(unsigned long x, volatile void * ptr, in · 31 unmodified lines | |||
| 32 | x = tmp; | 32 | x = tmp; |
| 33 | break; | 33 | break; |
| 34 | default: | 34 | default: |
| 35 | tmp = __invalid_xchg_size(x, ptr, size); | 35 | x = __invalid_xchg_size(x, ptr, size); |
| 36 | break; | 36 | break; |
| 37 | } | 37 | } |
| 38 | 38 | ||