summaryrefslogtreecommitdiffstats
path: root/include/asm-sparc64/backoff.h
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2008-03-19 01:04:48 -0700
committerDavid S. Miller <davem@davemloft.net>2008-03-19 01:04:48 -0700
commit4cfea5a7dfcc2766251e50ca30271a782d5004ad (patch)
treef5df867200211659f09a496c39b83ead231c0c81 /include/asm-sparc64/backoff.h
parentf0e98c387e61de00646be31fab4c2fa0224e1efb (diff)
downloadlinux-4cfea5a7dfcc2766251e50ca30271a782d5004ad.tar.gz
linux-4cfea5a7dfcc2766251e50ca30271a782d5004ad.tar.bz2
linux-4cfea5a7dfcc2766251e50ca30271a782d5004ad.zip
[SPARC64]: Fix atomic backoff limit.
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>
Diffstat (limited to 'include/asm-sparc64/backoff.h')
-rw-r--r--include/asm-sparc64/backoff.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/asm-sparc64/backoff.h b/include/asm-sparc64/backoff.h
index dadd6c385c6c..fa1fdf67e350 100644
--- a/include/asm-sparc64/backoff.h
+++ b/include/asm-sparc64/backoff.h
@@ -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; \