summaryrefslogtreecommitdiffstats
path: root/lib/libc
diff options
context:
space:
mode:
authorwpaul <wpaul@FreeBSD.org>2004-04-22 07:08:39 +0000
committerwpaul <wpaul@FreeBSD.org>2004-04-22 07:08:39 +0000
commit6bc1da1c05748794ddfba4b35ad43a0752b9d9ce (patch)
treed7c8788b2df34a961795a4183df16cf79dd6cf16 /lib/libc
parentea882c9688f650396d1f4b076c564a13bb55b025 (diff)
downloadFreeBSD-src-6bc1da1c05748794ddfba4b35ad43a0752b9d9ce.zip
FreeBSD-src-6bc1da1c05748794ddfba4b35ad43a0752b9d9ce.tar.gz
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.
Diffstat (limited to 'lib/libc')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud