From e1c0113ffd2c3330343b95ec7298b735ca204ed4 Mon Sep 17 00:00:00 2001 From: Bill Paul Date: Sun, 18 Apr 2004 18:38:59 +0000 Subject: [PATCH] In ntoskrnl_unlock_dpc(), use atomic_store instead of atomic_cmpset to give up the spinlock. Suggested by: bde --- sys/compat/ndis/subr_ntoskrnl.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/compat/ndis/subr_ntoskrnl.c b/sys/compat/ndis/subr_ntoskrnl.c index a825cab5a69..d833a73abb9 100644 --- a/sys/compat/ndis/subr_ntoskrnl.c +++ b/sys/compat/ndis/subr_ntoskrnl.c @@ -1029,7 +1029,7 @@ ntoskrnl_lock_dpc(/*lock*/ void) __asm__ __volatile__ ("" : "=c" (lock)); while (atomic_cmpset_acq_int((volatile u_int *)lock, 0, 1) == 0) - /* do nothing */; + /* sit and spin */; return; } @@ -1041,7 +1041,7 @@ ntoskrnl_unlock_dpc(/*lock*/ void) __asm__ __volatile__ ("" : "=c" (lock)); - atomic_cmpset_rel_int((volatile u_int *)lock, 1, 0); + atomic_store_rel_int((volatile u_int *)lock, 0); return; }