]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - arch/mips/include/asm/bitops.h
mips/atomic: Fix loongson_llsc_mb() wreckage
[linux.git] / arch / mips / include / asm / bitops.h
index 9a466dde9b96a14f9628476c5a65d8bb640d761f..7bd35e5e2a9e42124177c553eafc1a537b9e6ad3 100644 (file)
@@ -249,6 +249,7 @@ static inline int test_and_set_bit(unsigned long nr,
                unsigned long *m = ((unsigned long *) addr) + (nr >> SZLONG_LOG);
                unsigned long temp;
 
+               loongson_llsc_mb();
                do {
                        __asm__ __volatile__(
                        "       .set    push                            \n"
@@ -305,6 +306,7 @@ static inline int test_and_set_bit_lock(unsigned long nr,
                unsigned long *m = ((unsigned long *) addr) + (nr >> SZLONG_LOG);
                unsigned long temp;
 
+               loongson_llsc_mb();
                do {
                        __asm__ __volatile__(
                        "       .set    push                            \n"
@@ -364,6 +366,7 @@ static inline int test_and_clear_bit(unsigned long nr,
                unsigned long *m = ((unsigned long *) addr) + (nr >> SZLONG_LOG);
                unsigned long temp;
 
+               loongson_llsc_mb();
                do {
                        __asm__ __volatile__(
                        "       " __LL  "%0, %1 # test_and_clear_bit    \n"
@@ -379,6 +382,7 @@ static inline int test_and_clear_bit(unsigned long nr,
                unsigned long *m = ((unsigned long *) addr) + (nr >> SZLONG_LOG);
                unsigned long temp;
 
+               loongson_llsc_mb();
                do {
                        __asm__ __volatile__(
                        "       .set    push                            \n"
@@ -438,6 +442,7 @@ static inline int test_and_change_bit(unsigned long nr,
                unsigned long *m = ((unsigned long *) addr) + (nr >> SZLONG_LOG);
                unsigned long temp;
 
+               loongson_llsc_mb();
                do {
                        __asm__ __volatile__(
                        "       .set    push                            \n"