local_add_return fix for non volatile local_t on i386.

local_add_return should act like the new atomic_add_return considering the
removal of volatile from atomic_t.

Signed-off-by: Mathieu Desnoyers <[EMAIL PROTECTED]>

--- a/include/asm-i386/local.h
+++ b/include/asm-i386/local.h
@@ -142,8 +142,8 @@ #endif
        __i = i;
        __asm__ __volatile__(
                "xaddl %0, %1;"
-               :"=r"(i)
-               :"m"(l->a.counter), "0"(i));
+               :"+r" (i), "+m" (l->a.counter)
+               : : "memory");
        return i + __i;
 
 #ifdef CONFIG_M386
-- 
OpenPGP public key:              http://krystal.dyndns.org:8080/key/compudj.gpg
Key fingerprint:     8CD5 52C3 8E3C 4140 715F  BA06 3F25 A8FE 3BAE 9A68 
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to