summaryrefslogtreecommitdiff
path: root/sys/net80211/ieee80211_input.c
diff options
context:
space:
mode:
authorDamien Bergamini <damien@cvs.openbsd.org>2007-08-22 19:50:26 +0000
committerDamien Bergamini <damien@cvs.openbsd.org>2007-08-22 19:50:26 +0000
commitdd654a77e55db513af679bbba472472b1a70b096 (patch)
treec9f8ff688e9c7177f65961021b52f5c013d175b6 /sys/net80211/ieee80211_input.c
parent72cafb89b9cca2393b2fb7a479b1f103493f645b (diff)
when running out of rx buffers, allocate a new mbuf and copy the rx
buffer into it using m_copym2() instead of just dropping the received frame. otherwise, it may happen that all rx buffers are queued by tcp_input() waiting for a frame that will never arrive because we are dropping it. when it happens, rx stop working and it is hard to recover from this. the problem is not visible when using WEP because WEP decryption is currently done by software and that rx buffers are copied into mbufs by the software decryption code. while i'm here, increase the number of rx buffers allocated by wpi(4) from 80 to 96 to limit the number of copies. problem and solution found by bluhm@ - thanks.
Diffstat (limited to 'sys/net80211/ieee80211_input.c')
0 files changed, 0 insertions, 0 deletions