]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - include/asm-sparc64/rwsem.h
Merge with master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
[mv-sheeva.git] / include / asm-sparc64 / rwsem.h
index bf2ae90ed3df8ecef35fbb62444675e7ae8fea9e..a1cc94f95984039f4e416686ca5a427964a6bc95 100644 (file)
@@ -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)