aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/asm-x86/spinlock_32.h1
-rw-r--r--include/asm-x86/spinlock_64.h21
2 files changed, 11 insertions, 11 deletions
diff --git a/include/asm-x86/spinlock_32.h b/include/asm-x86/spinlock_32.h
index e7a14ab906e..4ef626d5368 100644
--- a/include/asm-x86/spinlock_32.h
+++ b/include/asm-x86/spinlock_32.h
@@ -53,7 +53,6 @@ static inline void __raw_spin_lock_flags(raw_spinlock_t *lock,
"\n1:\t"
LOCK_PREFIX " ; decb %[slock]\n\t"
"jns 5f\n"
- "2:\t"
"testl $0x200, %[flags]\n\t"
"jz 4f\n\t"
STI_STRING "\n"
diff --git a/include/asm-x86/spinlock_64.h b/include/asm-x86/spinlock_64.h
index ab50e7f5105..19d483c8018 100644
--- a/include/asm-x86/spinlock_64.h
+++ b/include/asm-x86/spinlock_64.h
@@ -27,13 +27,13 @@ static inline void __raw_spin_lock(raw_spinlock_t *lock)
asm volatile(
"\n1:\t"
LOCK_PREFIX " ; decl %0\n\t"
- "jns 2f\n"
- "3:\n"
+ "jns 3f\n"
+ "2:\t"
"rep;nop\n\t"
"cmpl $0,%0\n\t"
- "jle 3b\n\t"
+ "jle 2b\n\t"
"jmp 1b\n"
- "2:\t"
+ "3:\n\t"
: "+m" (lock->slock) : : "memory");
}
@@ -51,25 +51,26 @@ static inline void __raw_spin_lock_flags(raw_spinlock_t *lock,
{
asm volatile(
"\n1:\t"
- LOCK_PREFIX " ; decl %0\n\t"
+ LOCK_PREFIX " ; decl %[slock]\n\t"
"jns 5f\n"
- "testl $0x200, %1\n\t" /* interrupts were disabled? */
+ "testl $0x200, %[flags]\n\t"
"jz 4f\n\t"
STI_STRING "\n"
"3:\t"
"rep;nop\n\t"
- "cmpl $0, %0\n\t"
+ "cmpl $0, %[slock]\n\t"
"jle 3b\n\t"
CLI_STRING "\n\t"
"jmp 1b\n"
"4:\t"
"rep;nop\n\t"
- "cmpl $0, %0\n\t"
+ "cmpl $0, %[slock]\n\t"
"jg 1b\n\t"
"jmp 4b\n"
"5:\n\t"
- : "+m" (lock->slock)
- : "r" ((unsigned)flags) CLI_STI_INPUT_ARGS
+ : [slock] "+m" (lock->slock)
+ : [flags] "r" ((unsigned)flags)
+ CLI_STI_INPUT_ARGS
: "memory" CLI_STI_CLOBBERS);
}
#endif