|
@@ -25,7 +25,7 @@ extern int atomic_cmpxchg(atomic_t *, int, int);
|
|
|
extern int atomic_add_unless(atomic_t *, int, int);
|
|
|
extern void atomic_set(atomic_t *, int);
|
|
|
|
|
|
-#define atomic_read(v) ((v)->counter)
|
|
|
+#define atomic_read(v) (*(volatile int *)&(v)->counter)
|
|
|
|
|
|
#define atomic_add(i, v) ((void)__atomic_add_return( (int)(i), (v)))
|
|
|
#define atomic_sub(i, v) ((void)__atomic_add_return(-(int)(i), (v)))
|