summaryrefslogtreecommitdiffstats
path: root/include/asm-sparc64/rwsem.h
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 /include/asm-sparc64/rwsem.h
parentc903e41e67046e7f52bbc404bd5aa654d12540cc (diff)
parent99f95e5286df2f69edab8a04c7080d986ee4233b (diff)
Merge /spare/repo/linux-2.6/
Diffstat (limited to 'include/asm-sparc64/rwsem.h')
-rw-r--r--include/asm-sparc64/rwsem.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/asm-sparc64/rwsem.h b/include/asm-sparc64/rwsem.h
index bf2ae90ed3d..a1cc94f9598 100644
--- a/include/asm-sparc64/rwsem.h
+++ b/include/asm-sparc64/rwsem.h
@@ -55,8 +55,9 @@ static __inline__ int rwsem_atomic_update(int delta, struct rw_semaphore *sem)
"add %%g1, %1, %%g7\n\t"
"cas [%2], %%g1, %%g7\n\t"
"cmp %%g1, %%g7\n\t"
+ "membar #StoreLoad | #StoreStore\n\t"
"bne,pn %%icc, 1b\n\t"
- " membar #StoreLoad | #StoreStore\n\t"
+ " nop\n\t"
"mov %%g7, %0\n\t"
: "=&r" (tmp)
: "0" (tmp), "r" (sem)