summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGreg Ungerer <gerg@snapgear.com>2008-02-14 19:31:25 -0800
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2008-02-14 20:58:05 -0800
commit091b76d6aa788d8294caa2895cea1013f3eff7da (patch)
treef9dce5d9d5a64512cc388c7e7fbc4561a34448fe
parent903be1c56444615342ac5f1fc103e2ec11043714 (diff)
m68knommu: avoid unneccessary use of xchg() in set_mb()
Avoid unneccessary use of xchg() in set_mb(). Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--include/asm-m68knommu/system.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/asm-m68knommu/system.h b/include/asm-m68knommu/system.h
index 039ab3f81732..64c64432bbb8 100644
--- a/include/asm-m68knommu/system.h
+++ b/include/asm-m68knommu/system.h
@@ -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()