diff options
| -rw-r--r-- | arch/s390/include/asm/atomic.h | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/arch/s390/include/asm/atomic.h b/arch/s390/include/asm/atomic.h index 76daea117181..50cfb5ed601b 100644 --- a/arch/s390/include/asm/atomic.h +++ b/arch/s390/include/asm/atomic.h | |||
| @@ -36,14 +36,12 @@ | |||
| 36 | 36 | ||
| 37 | static inline int atomic_read(const atomic_t *v) | 37 | static inline int atomic_read(const atomic_t *v) |
| 38 | { | 38 | { |
| 39 | barrier(); | 39 | return ACCESS_ONCE(v->counter); |
| 40 | return v->counter; | ||
| 41 | } | 40 | } |
| 42 | 41 | ||
| 43 | static inline void atomic_set(atomic_t *v, int i) | 42 | static inline void atomic_set(atomic_t *v, int i) |
| 44 | { | 43 | { |
| 45 | v->counter = i; | 44 | v->counter = i; |
| 46 | barrier(); | ||
| 47 | } | 45 | } |
| 48 | 46 | ||
| 49 | static inline int atomic_add_return(int i, atomic_t *v) | 47 | static inline int atomic_add_return(int i, atomic_t *v) |
| @@ -128,14 +126,12 @@ static inline int atomic_add_unless(atomic_t *v, int a, int u) | |||
| 128 | 126 | ||
| 129 | static inline long long atomic64_read(const atomic64_t *v) | 127 | static inline long long atomic64_read(const atomic64_t *v) |
| 130 | { | 128 | { |
| 131 | barrier(); | 129 | return ACCESS_ONCE(v->counter); |
| 132 | return v->counter; | ||
| 133 | } | 130 | } |
| 134 | 131 | ||
| 135 | static inline void atomic64_set(atomic64_t *v, long long i) | 132 | static inline void atomic64_set(atomic64_t *v, long long i) |
| 136 | { | 133 | { |
| 137 | v->counter = i; | 134 | v->counter = i; |
| 138 | barrier(); | ||
| 139 | } | 135 | } |
| 140 | 136 | ||
| 141 | static inline long long atomic64_add_return(long long i, atomic64_t *v) | 137 | static inline long long atomic64_add_return(long long i, atomic64_t *v) |
