summaryrefslogtreecommitdiffstats
path: root/arch/s390
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2012-05-29 06:54:32 +0200
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2012-05-30 09:07:55 +0200
commit0c44ca71f59447a5e602c45728829d1cb6a1b4b5 (patch)
treebc0747b925c799ae7193b0e670e5e208bb1d7da8 /arch/s390
parents390/cpu: remove cpu "capabilities" sysfs attribute (diff)
downloadlinux-0c44ca71f59447a5e602c45728829d1cb6a1b4b5.tar.xz
linux-0c44ca71f59447a5e602c45728829d1cb6a1b4b5.zip
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')
-rw-r--r--arch/s390/include/asm/cmpxchg.h2
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,
" cds %0,%2,%1"
: "+&d" (rp_old), "=Q" (ptr)
: "d" (rp_new), "Q" (ptr)
- : "cc");
+ : "memory", "cc");
return rp_old.pair;
}
#define cmpxchg64(ptr, o, n) \