tree 6a9cde929df6175e797a157ca36df4c5cd99f3ae
parent 9e566d8bd61f939b7f5d7d969f5b178571471cf9
author Russell King <[EMAIL PROTECTED]> Wed, 27 Jul 2005 23:00:05 +0100
committer Russell King <[EMAIL PROTECTED]> Wed, 27 Jul 2005 23:00:05 +0100
[ARM SMP] Fix data corruption in test_* bitops
If we found that the bit was already in the desired state, we
would skip performing the operation, and write random data back.
Signed-off-by: Russell King <[EMAIL PROTECTED]>
arch/arm/lib/bitops.h | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/arch/arm/lib/bitops.h b/arch/arm/lib/bitops.h
--- a/arch/arm/lib/bitops.h
+++ b/arch/arm/lib/bitops.h
@@ -19,9 +19,9 @@
mov r3, r2, lsl r3 @ create mask
1: ldrexb r2, [r1]
ands r0, r2, r3 @ save old value of bit
- \instr ip, r2, r3 @ toggle bit
- strexb r2, ip, [r1]
- cmp r2, #0
+ \instr r2, r2, r3 @ toggle bit
+ strexb ip, r2, [r1]
+ cmp ip, #0
bne 1b
cmp r0, #0
movne r0, #1
-
To unsubscribe from this list: send the line "unsubscribe bk-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html