diff options
author | wpaul <wpaul@FreeBSD.org> | 2004-04-18 18:38:59 +0000 |
---|---|---|
committer | wpaul <wpaul@FreeBSD.org> | 2004-04-18 18:38:59 +0000 |
commit | a98d8ced5454e8e836a2d65fffe51f2f7475b313 (patch) | |
tree | 2693a7c637a59bd50fff6a53b96734211ef4b843 /sys/compat | |
parent | eb22856582fe7078e2747260cfa066ab279404c0 (diff) | |
download | FreeBSD-src-a98d8ced5454e8e836a2d65fffe51f2f7475b313.zip FreeBSD-src-a98d8ced5454e8e836a2d65fffe51f2f7475b313.tar.gz |
In ntoskrnl_unlock_dpc(), use atomic_store instead of atomic_cmpset
to give up the spinlock.
Suggested by: bde
Diffstat (limited to 'sys/compat')
-rw-r--r-- | sys/compat/ndis/subr_ntoskrnl.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/compat/ndis/subr_ntoskrnl.c b/sys/compat/ndis/subr_ntoskrnl.c index a825cab..d833a73 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; } |