--- 2.4/lib/rwsem-spinlock.c Sat Apr 28 10:37:27 2001 +++ build-2.4/lib/rwsem-spinlock.c Wed Sep 19 15:03:28 2001 @@ -115,7 +115,7 @@ spin_lock(&sem->wait_lock); - if (sem->activity>=0 && list_empty(&sem->wait_list)) { + if (sem->activity>=0) { /* granted */ sem->activity++; spin_unlock(&sem->wait_lock); --- 2.4/arch/i386/config.in Wed Sep 19 14:36:35 2001 +++ build-2.4/arch/i386/config.in Wed Sep 19 14:48:06 2001 @@ -59,8 +59,8 @@ define_bool CONFIG_X86_XADD y define_bool CONFIG_X86_BSWAP y define_bool CONFIG_X86_POPAD_OK y - define_bool CONFIG_RWSEM_GENERIC_SPINLOCK n - define_bool CONFIG_RWSEM_XCHGADD_ALGORITHM y + define_bool CONFIG_RWSEM_GENERIC_SPINLOCK y + define_bool CONFIG_RWSEM_XCHGADD_ALGORITHM n fi if [ "$CONFIG_M486" = "y" ]; then define_int CONFIG_X86_L1_CACHE_SHIFT 4