diff -r 94a7e766e5ea include/asm-i386/spinlock.h --- a/include/asm-i386/spinlock.h Sun Jan 07 06:17:42 2007 -0800 +++ b/include/asm-i386/spinlock.h Sun Jan 07 06:28:51 2007 -0800 @@ -86,7 +86,7 @@ static inline void __raw_spin_lock_irq(r static inline void __raw_spin_lock_irq(raw_spinlock_t *lock) { asm volatile("\n1:\t" - LOCK_PREFIX " ; decb %0\n\t" + LOCK_PREFIX " ; decb %[slock]\n\t" "jns 3f\n" STI_STRING "\n" "2:\t" @@ -96,7 +96,10 @@ static inline void __raw_spin_lock_irq(r CLI_STRING "\n" "jmp 1b\n" "3:\n\t" - : "+m" (lock->slock) : : "memory"); + : [slock] "+m" (lock->slock) + : [dummy] "i" (0xdeadbeaf) + CLI_STI_INPUT_ARGS + : "memory" CLI_STI_CLOBBERS); } #endif