Index: arch/arm/atomic/atomic_nand_16.S =================================================================== RCS file: /cvsroot/src/common/lib/libc/arch/arm/atomic/atomic_nand_16.S,v retrieving revision 1.2 diff -u -p -r1.2 atomic_nand_16.S --- arch/arm/atomic/atomic_nand_16.S 4 Mar 2014 16:15:28 -0000 1.2 +++ arch/arm/atomic/atomic_nand_16.S 11 Dec 2015 08:14:57 -0000 @@ -36,8 +36,8 @@ ENTRY_NP(_atomic_nand_16) mov ip, r0 1: ldrexh r0, [ip] /* load old value (to be returned) */ - mvns r3, r0 /* complement source */ - ands r3, r3, r1 /* calculate new value */ + ands r3, r0, r1 /* calculate new value */ + mvns r3, r3 /* ... complement */ strexh r2, r3, [ip] /* try to store */ cmp r2, #0 /* succeed? */ bne 1b /* no, try again */ @@ -57,8 +57,8 @@ STRONG_ALIAS(_atomic_nand_ushort,_atomic ENTRY_NP(_atomic_nand_16_nv) mov ip, r0 /* need r0 for return value */ 1: ldrexh r0, [ip] /* load old value */ - mvns r0, r0 /* complement source */ ands r0, r0, r1 /* calculate new value (return value) */ + mvns r0, r0 /* ... complement */ strexh r2, r0, [ip] /* try to store */ cmp r2, #0 /* succeed? */ bne 1b /* no, try again? */ Index: arch/arm/atomic/atomic_nand_32.S =================================================================== RCS file: /cvsroot/src/common/lib/libc/arch/arm/atomic/atomic_nand_32.S,v retrieving revision 1.2 diff -u -p -r1.2 atomic_nand_32.S --- arch/arm/atomic/atomic_nand_32.S 4 Mar 2014 16:15:28 -0000 1.2 +++ arch/arm/atomic/atomic_nand_32.S 11 Dec 2015 08:14:58 -0000 @@ -36,8 +36,8 @@ ENTRY_NP(_atomic_nand_32) mov ip, r0 1: ldrex r0, [ip] /* load old value (to be returned) */ - mvns r3, r0 /* complement source */ - ands r3, r3, r1 /* calculate new value */ + ands r3, r0, r1 /* calculate new value */ + mvns r3, r3 /* ... complement */ strex r2, r3, [ip] /* try to store */ cmp r2, #0 /* succeed? */ bne 1b /* no, try again */ @@ -59,8 +59,8 @@ STRONG_ALIAS(_atomic_nand_ulong,_atomic_ ENTRY_NP(_atomic_nand_32_nv) mov ip, r0 /* need r0 for return value */ 1: ldrex r0, [ip] /* load old value */ - mvns r0, r0 /* complement source */ - ands r0, r0, r1 /* calculate new value (return value) */ + ands r0, r0, r1 /* calculate new value */ + mvns r0, r0 /* ... complement (return value) */ strex r2, r0, [ip] /* try to store */ cmp r2, #0 /* succeed? */ bne 1b /* no, try again? */ Index: arch/arm/atomic/atomic_nand_64.S =================================================================== RCS file: /cvsroot/src/common/lib/libc/arch/arm/atomic/atomic_nand_64.S,v retrieving revision 1.3 diff -u -p -r1.3 atomic_nand_64.S --- arch/arm/atomic/atomic_nand_64.S 4 Mar 2014 16:15:28 -0000 1.3 +++ arch/arm/atomic/atomic_nand_64.S 11 Dec 2015 08:14:58 -0000 @@ -40,10 +40,10 @@ ENTRY_NP(_atomic_nand_64_nv) #endif mov ip, r0 /* need r0 for return value */ 1: ldrexd r0, r1, [ip] /* load old value */ - mvns r0, r0 /* complement old value */ - mvns r1, r1 /* complement old value */ ands r0, r0, r2 /* calculate new value */ ands r1, r1, r3 /* calculate new value */ + mvns r0, r0 /* ... complement */ + mvns r1, r1 /* ... complement */ strexd r4, r0, r1, [ip] /* try to store */ cmp r4, #0 /* succeed? */ bne 1b /* no, try again? */ Index: arch/arm/atomic/atomic_nand_8.S =================================================================== RCS file: /cvsroot/src/common/lib/libc/arch/arm/atomic/atomic_nand_8.S,v retrieving revision 1.2 diff -u -p -r1.2 atomic_nand_8.S --- arch/arm/atomic/atomic_nand_8.S 4 Mar 2014 16:15:28 -0000 1.2 +++ arch/arm/atomic/atomic_nand_8.S 11 Dec 2015 08:14:58 -0000 @@ -36,8 +36,8 @@ ENTRY_NP(_atomic_nand_8) mov ip, r0 1: ldrexb r0, [ip] /* load old value (to be returned) */ - mvns r3, r0 /* complement source */ - ands r3, r3, r1 /* calculate new value */ + ands r3, r0, r1 /* calculate new value */ + mvns r3, r3 /* ... complement */ strexb r2, r3, [ip] /* try to store */ cmp r2, #0 /* succeed? */ bne 1b /* no, try again */ @@ -57,8 +57,8 @@ STRONG_ALIAS(_atomic_nand_uchar,_atomic_ ENTRY_NP(_atomic_nand_8_nv) mov ip, r0 /* need r0 for return value */ 1: ldrexb r0, [ip] /* load old value */ - mvns r0, r0 /* complement source */ - ands r0, r0, r1 /* calculate new value (return value) */ + ands r0, r0, r1 /* calculate new value */ + mvns r0, r0 /* ... complement (return value) */ strexb r2, r0, [ip] /* try to store */ cmp r2, #0 /* succeed? */ bne 1b /* no, try again? */