Index: linux-2.6.6-mm5/include/asm-i386/spinlock.h=================================================================== RCS file: /home/cvsroot/linux-2.6.6-mm5/include/asm-i386/spinlock.h,v retrieving revision 1.1.1.1 Index: linux-2.6.8-rc1/include/asm-i386/spinlock.h =================================================================== --- linux-2.6.8-rc1.orig/include/asm-i386/spinlock.h 2004-07-15 02:41:40.000000000 +1000 +++ linux-2.6.8-rc1/include/asm-i386/spinlock.h 2004-07-15 10:03:17.540636438 +1000 @@ -142,6 +142,7 @@ :"=m" (lock->lock) : : "memory"); } +#define _raw_spin_lock_irq(lock) _raw_spin_lock_flags(lock, X86_EFLAGS_IF) static inline void _raw_spin_lock_flags (spinlock_t *lock, unsigned long flags) { #ifdef CONFIG_DEBUG_SPINLOCK Index: linux-2.6.8-rc1/include/linux/spinlock.h =================================================================== --- linux-2.6.8-rc1.orig/include/linux/spinlock.h 2004-06-16 17:35:46.000000000 +1000 +++ linux-2.6.8-rc1/include/linux/spinlock.h 2004-07-15 10:03:17.564632620 +1000 @@ -38,9 +38,14 @@ #ifdef CONFIG_SMP #include +#ifndef _raw_spin_lock_irq +#define _raw_spin_lock_irq(lock) _raw_spin_lock(lock) +#endif + #else -#define _raw_spin_lock_flags(lock, flags) _raw_spin_lock(lock) +#define _raw_spin_lock_flags(lock, flags) _raw_spin_lock(lock) +#define _raw_spin_lock_irq(lock) _raw_spin_lock(lock) #if !defined(CONFIG_PREEMPT) && !defined(CONFIG_DEBUG_SPINLOCK) # define atomic_dec_and_lock(atomic,lock) atomic_dec_and_test(atomic) @@ -266,7 +271,7 @@ do { \ local_irq_disable(); \ preempt_disable(); \ - _raw_spin_lock(lock); \ + _raw_spin_lock_irq(lock); \ } while (0) #define spin_lock_bh(lock) \