diff options
author | adrian <adrian@FreeBSD.org> | 2012-03-13 06:15:20 +0000 |
---|---|---|
committer | adrian <adrian@FreeBSD.org> | 2012-03-13 06:15:20 +0000 |
commit | d44d6b85dc06426120a4f7c7c6c55be5b0f7436a (patch) | |
tree | d6434c2df2f44907f4e6ae68bcd5095059661c6c /sys/kern/subr_sbuf.c | |
parent | 015c4b6e61f5433383f9c5aa633a608f414e8cad (diff) | |
download | FreeBSD-src-d44d6b85dc06426120a4f7c7c6c55be5b0f7436a.zip FreeBSD-src-d44d6b85dc06426120a4f7c7c6c55be5b0f7436a.tar.gz |
Correctly (I hope) deallocate the if_arge RX buffer ring on arge_stop().
I had some interesting hangs until I realised I should try flushing the
DDR FIFO register and lo and behold, hangs stopped occuring.
I've put in a few DDR flushes here and there in case people decide to
reuse some of these functions. It's very very likely they're almost
all superflous.
To test:
* Connect to a network with a _lot_ of broadcast traffic
* Do this:
# while true; do ifconfig arge0 down; ifconfig arge0 up; done
This fixes the mbuf exhaustion that has been reported when the interface
state flaps up/down.
Diffstat (limited to 'sys/kern/subr_sbuf.c')
0 files changed, 0 insertions, 0 deletions