summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorkettenis <kettenis@openbsd.org>2008-08-26 21:06:29 +0000
committerkettenis <kettenis@openbsd.org>2008-08-26 21:06:29 +0000
commitbb05d10042a6c350e230c8a1ad775174ef6d01c7 (patch)
tree65b865dcc09b6f925bc77deae87a460163550ed8 /lib
parentStylus pressure sensor is active low, so invert the logic converting it (diff)
downloadwireguard-openbsd-bb05d10042a6c350e230c8a1ad775174ef6d01c7.tar.xz
wireguard-openbsd-bb05d10042a6c350e230c8a1ad775174ef6d01c7.zip
Fix a couple of problems that may make gem(4) get stuck:
1. If bus_dmamap_load_mbuf() fails because there are not enough segments in the map, defrag the mbuf. 2. If there are not enough free (hardware ring) descriptors, set IFF_OACTIVE and keep the packet on the queue. 3. If there is some other resource starvation that makes bus_dmamap_load_mbuf() or defragmentation fail, drop the packet. Don't set IFF_OACTIVE, since the Tx ring could be empty and we'd be stuck. 4. Only pass packets that are actually handed off to the hardware to BPF. Do so before handing them off to the hardware to make sure the packet isn't freed behind our back. ok dlg@
Diffstat (limited to 'lib')
0 files changed, 0 insertions, 0 deletions