diff options
-rw-r--r-- | arch/arm/kernel/swp_emulate.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/arm/kernel/swp_emulate.c b/arch/arm/kernel/swp_emulate.c index 5b26e7efa9ea..c3fe769d7558 100644 --- a/arch/arm/kernel/swp_emulate.c +++ b/arch/arm/kernel/swp_emulate.c | |||
@@ -36,10 +36,10 @@ | |||
36 | */ | 36 | */ |
37 | #define __user_swpX_asm(data, addr, res, temp, B) \ | 37 | #define __user_swpX_asm(data, addr, res, temp, B) \ |
38 | __asm__ __volatile__( \ | 38 | __asm__ __volatile__( \ |
39 | " mov %2, %1\n" \ | 39 | "0: ldrex"B" %2, [%3]\n" \ |
40 | "0: ldrex"B" %1, [%3]\n" \ | 40 | "1: strex"B" %0, %1, [%3]\n" \ |
41 | "1: strex"B" %0, %2, [%3]\n" \ | ||
42 | " cmp %0, #0\n" \ | 41 | " cmp %0, #0\n" \ |
42 | " moveq %1, %2\n" \ | ||
43 | " movne %0, %4\n" \ | 43 | " movne %0, %4\n" \ |
44 | "2:\n" \ | 44 | "2:\n" \ |
45 | " .section .text.fixup,\"ax\"\n" \ | 45 | " .section .text.fixup,\"ax\"\n" \ |