diff options
author | David Howells <dhowells@redhat.com> | 2011-03-14 15:49:44 +0100 |
---|---|---|
committer | David Howells <dhowells@redhat.com> | 2011-03-14 15:51:25 +0100 |
commit | af794206542e03d62138a107ee0ffb5e7d631881 (patch) | |
tree | 58e951a8a37b6ac4d854a7d501dd3b9ff5126e44 | |
parent | MN10300: The SMP_ICACHE_INV_FLUSH_RANGE IPI command does not exist (diff) | |
download | linux-af794206542e03d62138a107ee0ffb5e7d631881.tar.xz linux-af794206542e03d62138a107ee0ffb5e7d631881.zip |
MN10300: atomic_read() should ensure it emits a load
atomic_read() needs to ensure that it emits a load (which it can do by using
ACCESS_ONCE()).
Reported-by: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: David Howells <dhowells@redhat.com>
-rw-r--r-- | arch/mn10300/include/asm/atomic.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/mn10300/include/asm/atomic.h b/arch/mn10300/include/asm/atomic.h index 92d2f9298e38..9d773a639513 100644 --- a/arch/mn10300/include/asm/atomic.h +++ b/arch/mn10300/include/asm/atomic.h @@ -139,7 +139,7 @@ static inline unsigned long __cmpxchg(volatile unsigned long *m, * Atomically reads the value of @v. Note that the guaranteed * useful range of an atomic_t is only 24 bits. */ -#define atomic_read(v) ((v)->counter) +#define atomic_read(v) (ACCESS_ONCE((v)->counter)) /** * atomic_set - set atomic variable |