summaryrefslogtreecommitdiff
path: root/arch/sparc64/lib/debuglocks.c
diff options
context:
space:
mode:
authorJeff Garzik <jgarzik@pobox.com>2005-06-28 00:46:22 -0400
committerJeff Garzik <jgarzik@pobox.com>2005-06-28 00:46:22 -0400
commitc36ad397a30fcf9369d82584324cc24189eb6b1c (patch)
treea5cbb451a2e9ea3ea12b6d279c72d77ac96c3028 /arch/sparc64/lib/debuglocks.c
parentc903e41e67046e7f52bbc404bd5aa654d12540cc (diff)
parent99f95e5286df2f69edab8a04c7080d986ee4233b (diff)
Merge /spare/repo/linux-2.6/
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 c421e0c65325..f03344cf784e 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");