microblaze: Reversed logic in futex cmpxchg
futex_atomic_cmpxchg_inatomic exchanged if the values were unequal rather than equal. This caused incorrect behavior of robust futexes. Signed-off-by: Kirk Meyer <kirk.meyer@sencore.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
This commit is contained in:
parent
b5dd0bb43e
commit
f6a12a7d0b
|
@ -105,7 +105,7 @@ futex_atomic_cmpxchg_inatomic(u32 *uval, u32 __user *uaddr,
|
|||
|
||||
__asm__ __volatile__ ("1: lwx %1, %3, r0; \
|
||||
cmp %2, %1, %4; \
|
||||
beqi %2, 3f; \
|
||||
bnei %2, 3f; \
|
||||
2: swx %5, %3, r0; \
|
||||
addic %2, r0, 0; \
|
||||
bnei %2, 1b; \
|
||||
|
|
Loading…
Reference in New Issue