lkml.org 
[lkml]   [2010]   [Mar]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH 2/2] x86-32: fix atomic64_inc_not_zero return value convention
Date
Buggy like atomic64_add_unless

Signed-off-by: Luca Barbieri <luca@luca-barbieri.com>
---
arch/x86/lib/atomic64_386_32.S | 3 +--
arch/x86/lib/atomic64_cx8_32.S | 3 +--
2 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/arch/x86/lib/atomic64_386_32.S b/arch/x86/lib/atomic64_386_32.S
index a2f847c..4a5979a 100644
--- a/arch/x86/lib/atomic64_386_32.S
+++ b/arch/x86/lib/atomic64_386_32.S
@@ -153,13 +153,12 @@ BEGIN inc_not_zero %esi
adcl $0, %edx
movl %eax, ($v)
movl %edx, 4($v)
- xorl %eax, %eax
+ movl $1, %eax
2:
RETURN
3:
testl %edx, %edx
jne 1b
- movl $1, %eax
jmp 2b
END_

diff --git a/arch/x86/lib/atomic64_cx8_32.S b/arch/x86/lib/atomic64_cx8_32.S
index d0e37b1..71e080d 100644
--- a/arch/x86/lib/atomic64_cx8_32.S
+++ b/arch/x86/lib/atomic64_cx8_32.S
@@ -212,14 +212,13 @@ ENTRY(atomic64_inc_not_zero_cx8)
cmpxchg8b (%esi)
jne 1b

- xorl %eax, %eax
+ movl $1, %eax
3:
RESTORE ebx
ret
4:
testl %edx, %edx
jne 2b
- movl $1, %eax
jmp 3b
CFI_ENDPROC
ENDPROC(atomic64_inc_not_zero_cx8)
--
1.6.6.1.476.g01ddb


\
 
 \ /
  Last update: 2010-03-01 18:33    [W:0.033 / U:0.020 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site