If bounce buffers do not fit, defragment mbuf.
authorbluhm <bluhm@openbsd.org>
Wed, 28 Aug 2024 18:21:15 +0000 (18:21 +0000)
committerbluhm <bluhm@openbsd.org>
Wed, 28 Aug 2024 18:21:15 +0000 (18:21 +0000)
commit7a371a9d766d61717aeae4c3be89d84c0ee673ac
tree6fc82c4c124acead96ac772ac840f419894bfafb
parente52b311e529c11b98119c3e2639457490e9277ef
If bounce buffers do not fit, defragment mbuf.

Some packets were dropped by vio_encap() when using bounce buffers.
These mbufs are too fragmented for the pre allocated bounce buffer
pages.  By returing EFBIG the network driver will call m_defrag()
and try again.  This fixes the problem.

OK sf@ hshoexer@
sys/arch/amd64/amd64/bus_dma.c