locking,arch: Use ACCESS_ONCE() instead of cast to volatile in atomic_read()
[cascardo/linux.git] / arch / avr32 / include / asm / atomic.h
index 83e980a..2d07ce1 100644 (file)
@@ -19,7 +19,7 @@
 
 #define ATOMIC_INIT(i)  { (i) }
 
-#define atomic_read(v)         (*(volatile int *)&(v)->counter)
+#define atomic_read(v)         ACCESS_ONCE((v)->counter)
 #define atomic_set(v, i)       (((v)->counter) = i)
 
 #define ATOMIC_OP_RETURN(op, asm_op, asm_con)                          \