summaryrefslogtreecommitdiff
path: root/arch/sparc64/lib/debuglocks.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@ppc970.osdl.org>2005-06-27 20:10:18 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-06-27 20:10:18 -0700
commit6e5a32754c67f0d156c2f196d604b2e9129a1fd5 (patch)
tree2dc77bbae2b2896c6435dc25c013d5d053fba591 /arch/sparc64/lib/debuglocks.c
parentb6d00f0de9e932e2884b3b7af8e43c0a61a271ee (diff)
parent63b614522cba5a015923c0e8f284be6e01c13f1a (diff)
Merge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/davem/sparc-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");