diff options
author | yongari <yongari@FreeBSD.org> | 2006-08-14 02:21:26 +0000 |
---|---|---|
committer | yongari <yongari@FreeBSD.org> | 2006-08-14 02:21:26 +0000 |
commit | 297f53342b73885fd27db30f6852e67f9a6c293a (patch) | |
tree | aec9cb413c3563c1678700a91843eb8be6957a92 /lib/libc/stdlib/radixsort.c | |
parent | 494fd63ce267ca352d6bf5af3a85075eecd61d76 (diff) | |
download | FreeBSD-src-297f53342b73885fd27db30f6852e67f9a6c293a.zip FreeBSD-src-297f53342b73885fd27db30f6852e67f9a6c293a.tar.gz |
Make em(4) handle too many fragmented frame with m_defrag(9).
Previously em(4) requeued the failed mbuf chains from
bus_dmamap_load_mbuf_sg(9) failure to resend it later. However,
bus_dmamap_load_mbuf_sg(9) may never complete its request as the
fragmented frames can have more than EM_MAX_SCATTER segments.
To handle the above EFBIG case, defragment the frame with m_defrag(9)
and free the mbuf chain if it can't deframent the chain due to
resource shortage.
Reviewed by glebius (with improvements)
Diffstat (limited to 'lib/libc/stdlib/radixsort.c')
0 files changed, 0 insertions, 0 deletions