cvs commit: src/sys/compat/ndis ntoskrnl_var.h subr_ndis.c
subr_ntoskrnl.c
Bill Paul
wpaul at FreeBSD.org
Sun Feb 15 18:50:04 PST 2004
wpaul 2004/02/15 18:50:04 PST
FreeBSD src repository
Modified files:
sys/compat/ndis ntoskrnl_var.h subr_ndis.c
subr_ntoskrnl.c
Log:
More cleanups/fixes for the AMD Am1771 driver:
- When adding new waiting threads to the waitlist for an object,
use INSERT_LIST_TAIL() instead of INSERT_LIST_HEAD() so that new
waiters go at the end of the list instead of the beginning. When we
wake up a synchronization object, only the first waiter is awakened,
and this needs to be the first thread that actually waited on the object.
- Correct missing semicolon in INSERT_LIST_TAIL() macro.
- Implement lookaside lists correctly. Note that the Am1771 driver
uses lookaside lists to manage shared memory (i.e. DMAable) buffers
by specifying its own alloc and free routines. The Microsoft documentation
says you should avoid doing this, but apparently this did not deter
the developers at AMD from doing it anyway.
With these changes (which are the result of two straight days of almost
non-stop debugging), I think I finally have the object/thread handling
semantics implemented correctly. The Am1771 driver no longer crashes
unexpectedly during association or bringing the interface up.
Revision Changes Path
1.8 +3 -1 src/sys/compat/ndis/ntoskrnl_var.h
1.48 +1 -1 src/sys/compat/ndis/subr_ndis.c
1.22 +76 -20 src/sys/compat/ndis/subr_ntoskrnl.c
More information about the cvs-src
mailing list