aboutsummaryrefslogtreecommitdiff
path: root/arch/sparc64/lib/debuglocks.c
diff options
context:
space:
mode:
authorSteve French <sfrench@hera.kernel.org>2005-06-30 20:57:39 -0700
committerSteve French <sfrench@hera.kernel.org>2005-06-30 20:57:39 -0700
commitab997aaeb9cf7a0da1cecc46c5bb6c7262416917 (patch)
treeb8a09ed676101a2478d17c1d71da1274293c3c64 /arch/sparc64/lib/debuglocks.c
parentfa5cfae37799177769e9ae2c0527fbdfea462fa9 (diff)
parentbd53d1270f51c6cfb53b06c8f93fd42327871d6b (diff)
Merge with rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
Diffstat (limited to 'arch/sparc64/lib/debuglocks.c')
-rw-r--r--arch/sparc64/lib/debuglocks.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/sparc64/lib/debuglocks.c b/arch/sparc64/lib/debuglocks.c
index c421e0c6532..f03344cf784 100644
--- a/arch/sparc64/lib/debuglocks.c
+++ b/arch/sparc64/lib/debuglocks.c
@@ -252,8 +252,9 @@ wlock_again:
" andn %%g1, %%g3, %%g7\n"
" casx [%0], %%g1, %%g7\n"
" cmp %%g1, %%g7\n"
+" membar #StoreLoad | #StoreStore\n"
" bne,pn %%xcc, 1b\n"
-" membar #StoreLoad | #StoreStore"
+" nop"
: /* no outputs */
: "r" (&(rw->lock))
: "g3", "g1", "g7", "cc", "memory");
@@ -351,8 +352,9 @@ int _do_write_trylock (rwlock_t *rw, char *str)
" andn %%g1, %%g3, %%g7\n"
" casx [%0], %%g1, %%g7\n"
" cmp %%g1, %%g7\n"
+" membar #StoreLoad | #StoreStore\n"
" bne,pn %%xcc, 1b\n"
-" membar #StoreLoad | #StoreStore"
+" nop"
: /* no outputs */
: "r" (&(rw->lock))
: "g3", "g1", "g7", "cc", "memory");