freebsd-nq/sys/compat/ndis
Bill Paul b1084a1e96 Ok, _really_ fix the Intel 2100B Centrino deadlock problems this time.
(I hope.)

My original instinct to make ndis_return_packet() asynchronous was correct.
Making ndis_rxeof() submit packets to the stack asynchronously fixes
one recursive spinlock acquisition, but it's also possible for it to
happen via the ndis_txeof() path too. So:

- In if_ndis.c, revert ndis_rxeof() to its old behavior (and don't bother
  putting ndis_rxeof_serial() back since we don't need it anymore).

- In kern_ndis.c, make ndis_return_packet() submit the call to the
  MiniportReturnPacket() function to the "ndis swi" thread so that
  it always happens in another context no matter who calls it.
2004-04-22 07:08:39 +00:00
..
cfg_var.h
hal_var.h Continue my efforts to imitate Windows as closely as possible by 2004-04-14 07:48:03 +00:00
kern_ndis.c Ok, _really_ fix the Intel 2100B Centrino deadlock problems this time. 2004-04-22 07:08:39 +00:00
ndis_var.h Continue my efforts to imitate Windows as closely as possible by 2004-04-14 07:48:03 +00:00
ntoskrnl_var.h Correct the AT_DISPATCH_LEVEL() macro to match earlier changes. 2004-04-20 02:27:38 +00:00
pe_var.h Continue my efforts to imitate Windows as closely as possible by 2004-04-14 07:48:03 +00:00
resource_var.h Add missing cprd_flags member to partial resource structure in 2004-03-29 02:15:29 +00:00
subr_hal.c Try to handle recursive attempts to raise IRQL to DISPATCH_LEVEL better 2004-04-19 22:39:04 +00:00
subr_ndis.c - Use memory barrier with atomic operations in ntoskrnl_lock_dpc() and 2004-04-16 00:04:28 +00:00
subr_ntoskrnl.c In ntoskrnl_unlock_dpc(), use atomic_store instead of atomic_cmpset 2004-04-18 18:38:59 +00:00
subr_pe.c