|
@@ -104,7 +104,7 @@ asmlinkage void resume(void);
|
|
|
#define mb() asm volatile ("" : : :"memory")
|
|
|
#define rmb() asm volatile ("" : : :"memory")
|
|
|
#define wmb() asm volatile ("" : : :"memory")
|
|
|
-#define set_mb(var, value) do { xchg(&var, value); } while (0)
|
|
|
+#define set_mb(var, value) ({ (var) = (value); wmb(); })
|
|
|
|
|
|
#ifdef CONFIG_SMP
|
|
|
#define smp_mb() mb()
|