diff -ur linux-2.5.19-clean/include/asm-i386/spinlock.h linux-2.5.19/include/asm-i386/spinlock.h --- linux-2.5.19-clean/include/asm-i386/spinlock.h Wed May 29 11:42:49 2002 +++ linux-2.5.19/include/asm-i386/spinlock.h Wed May 29 16:21:48 2002 @@ -123,21 +123,15 @@ return oldval > 0; } -static inline void _raw_spin_lock(spinlock_t *lock) -{ -#if SPINLOCK_DEBUG - __label__ here; -here: - if (lock->magic != SPINLOCK_MAGIC) { -printk("eip: %p\n", &&here); - BUG(); - } -#endif - __asm__ __volatile__( - spin_lock_string - :"=m" (lock->lock) : : "memory"); -} +static inline void _spin_lock_typecheck(spinlock_t *lock) {} +#define _raw_spin_lock(spinlock)\ +do {\ + _spin_lock_typecheck(spinlock);\ + __asm__ __volatile__(\ + spin_lock_string\ + :"=m" ((spinlock)->lock) : : "memory");\ +} while(0) /* * Read-write spinlocks, allowing multiple readers diff -ur linux-2.5.19-clean/include/linux/spinlock.h linux-2.5.19/include/linux/spinlock.h --- linux-2.5.19-clean/include/linux/spinlock.h Wed May 29 11:42:55 2002 +++ linux-2.5.19/include/linux/spinlock.h Wed May 29 17:16:05 2002 @@ -44,7 +44,7 @@ #include #define LOCK_SECTION_NAME \ - ".text.lock." __stringify(KBUILD_BASENAME) + ".text.lock." __stringify(KBUILD_BASENAME) "." __FUNCTION__ "." __stringify(__LINE__) #define LOCK_SECTION_START(extra) \ ".subsection 1\n\t" \