aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorMeyer, Kirk <Kirk.Meyer@sencore.com>2013-05-23 13:06:57 -0400
committerMichal Simek <michal.simek@xilinx.com>2013-05-27 06:29:35 -0400
commitf6a12a7d0b1a70e969ae4f6d7c5201cdaf6edde0 (patch)
tree657c066fb2355c87cf5adf9bad68a9536241c76c /arch
parentb5dd0bb43e209455fb83161d4c8774ce2c23f6e2 (diff)
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')
-rw-r--r--arch/microblaze/include/asm/futex.h2
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,
105 105
106 __asm__ __volatile__ ("1: lwx %1, %3, r0; \ 106 __asm__ __volatile__ ("1: lwx %1, %3, r0; \
107 cmp %2, %1, %4; \ 107 cmp %2, %1, %4; \
108 beqi %2, 3f; \ 108 bnei %2, 3f; \
109 2: swx %5, %3, r0; \ 109 2: swx %5, %3, r0; \
110 addic %2, r0, 0; \ 110 addic %2, r0, 0; \
111 bnei %2, 1b; \ 111 bnei %2, 1b; \