]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
SPARC64: Fix atomic backoff limit.
authorDavid S. Miller <davem@davemloft.net>
Mon, 7 Apr 2008 07:25:20 +0000 (00:25 -0700)
committerChris Wright <chrisw@sous-sol.org>
Sat, 19 Apr 2008 01:53:27 +0000 (18:53 -0700)
Upstream commit: 4cfea5a7dfcc2766251e50ca30271a782d5004ad

4096 will not fit into the immediate field of a compare instruction,
in fact it will end up being -4096 causing the check to fail every
time and thus disabling backoff.

Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
include/asm-sparc64/backoff.h

index dadd6c385c6c0f31bb6c40f0b27af1e478e90d2a..fa1fdf67e350e07d950107289f25bdf3c41a73b3 100644 (file)
@@ -12,7 +12,8 @@
        mov     reg, tmp; \
 88:    brnz,pt tmp, 88b; \
         sub    tmp, 1, tmp; \
-       cmp     reg, BACKOFF_LIMIT; \
+       set     BACKOFF_LIMIT, tmp; \
+       cmp     reg, tmp; \
        bg,pn   %xcc, label; \
         nop; \
        ba,pt   %xcc, label; \