diff options
author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2012-05-29 00:54:32 -0400 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2012-05-30 03:07:55 -0400 |
commit | 0c44ca71f59447a5e602c45728829d1cb6a1b4b5 (patch) | |
tree | bc0747b925c799ae7193b0e670e5e208bb1d7da8 /arch/s390/include | |
parent | b9e3f776c811cc0647c7360844714b6a9b5fd0ef (diff) |
s390/cmpxchg: add missing memory barrier to cmpxchg64
All cmpxchg functions imply a memory barrier.
cmpxch64 did not have one for 31 bit code, so add it.
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/include')
-rw-r--r-- | arch/s390/include/asm/cmpxchg.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/s390/include/asm/cmpxchg.h b/arch/s390/include/asm/cmpxchg.h index 81d7908416cf..ebd31481f1d2 100644 --- a/arch/s390/include/asm/cmpxchg.h +++ b/arch/s390/include/asm/cmpxchg.h | |||
@@ -181,7 +181,7 @@ static inline unsigned long long __cmpxchg64(void *ptr, | |||
181 | " cds %0,%2,%1" | 181 | " cds %0,%2,%1" |
182 | : "+&d" (rp_old), "=Q" (ptr) | 182 | : "+&d" (rp_old), "=Q" (ptr) |
183 | : "d" (rp_new), "Q" (ptr) | 183 | : "d" (rp_new), "Q" (ptr) |
184 | : "cc"); | 184 | : "memory", "cc"); |
185 | return rp_old.pair; | 185 | return rp_old.pair; |
186 | } | 186 | } |
187 | #define cmpxchg64(ptr, o, n) \ | 187 | #define cmpxchg64(ptr, o, n) \ |