locking,arch: Use ACCESS_ONCE() instead of cast to volatile in atomic_read()
[firefly-linux-kernel-4.4.55.git] / include / asm-generic / atomic.h
index 56d4d36e15312785c92fdca776f92d912815ed77..1973ad2b13f4dd80c750e4ff5c71d2e1510c4ff8 100644 (file)
@@ -126,7 +126,7 @@ ATOMIC_OP(or, |)
  * Atomically reads the value of @v.
  */
 #ifndef atomic_read
-#define atomic_read(v) (*(volatile int *)&(v)->counter)
+#define atomic_read(v) ACCESS_ONCE((v)->counter)
 #endif
 
 /**