powerpc: mark xer clobbered in csum_add()
authorChristophe Leroy <christophe.leroy@c-s.fr>
Tue, 22 Sep 2015 14:34:21 +0000 (16:34 +0200)
committerScott Wood <oss@buserror.net>
Sat, 5 Mar 2016 03:47:27 +0000 (21:47 -0600)
addc uses carry so xer is clobbered in csum_add()

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: Scott Wood <oss@buserror.net>
arch/powerpc/include/asm/checksum.h

index e8d9ef4755a499bae606caa80e2edd14899c0a0d..d2ca07bb88371448bfb15f1797f637ce9a16da3a 100644 (file)
@@ -141,7 +141,7 @@ static inline __wsum csum_add(__wsum csum, __wsum addend)
 #else
        asm("addc %0,%0,%1;"
            "addze %0,%0;"
-           : "+r" (csum) : "r" (addend));
+           : "+r" (csum) : "r" (addend) : "xer");
        return csum;
 #endif
 }