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

Reply via email to