[MIPS] Don't use R10000 llsc workaround version for all llsc-full processors.
authorRalf Baechle <ralf@linux-mips.org>
Fri, 13 Oct 2006 10:32:50 +0000 (11:32 +0100)
committerRalf Baechle <ralf@linux-mips.org>
Thu, 2 Nov 2006 17:23:33 +0000 (17:23 +0000)
Found and original patch by bile@landofbile.com.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
include/asm-mips/system.h

index dcb4701d572831fe8e7f781d364bd4a524f2b39c..3056feed5a367bcee7f47ec346f3ee62415c6abd 100644 (file)
@@ -392,7 +392,7 @@ static inline unsigned long __cmpxchg_u64(volatile int * m, unsigned long old,
 {
        __u64 retval;
 
-       if (cpu_has_llsc) {
+       if (cpu_has_llsc && R10000_LLSC_WAR) {
                __asm__ __volatile__(
                "       .set    push                                    \n"
                "       .set    noat                                    \n"