diff options
author | Meyer, Kirk <Kirk.Meyer@sencore.com> | 2013-05-23 17:06:57 +0000 |
---|---|---|
committer | Michal Simek <michal.simek@xilinx.com> | 2013-05-27 12:29:35 +0200 |
commit | f6a12a7d0b1a70e969ae4f6d7c5201cdaf6edde0 (patch) | |
tree | 657c066fb2355c87cf5adf9bad68a9536241c76c /arch/microblaze | |
parent | b5dd0bb43e209455fb83161d4c8774ce2c23f6e2 (diff) | |
download | lwn-f6a12a7d0b1a70e969ae4f6d7c5201cdaf6edde0.tar.gz lwn-f6a12a7d0b1a70e969ae4f6d7c5201cdaf6edde0.zip |
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>
Diffstat (limited to 'arch/microblaze')
-rw-r--r-- | arch/microblaze/include/asm/futex.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/microblaze/include/asm/futex.h b/arch/microblaze/include/asm/futex.h index ff8cde159d9a..01848f056f43 100644 --- a/arch/microblaze/include/asm/futex.h +++ b/arch/microblaze/include/asm/futex.h @@ -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; \ |