MFC: r268726
Move the "retry:" label so that the calls to m_pullup() are not done after the call to m_defrag(). This fixes a problem where m_pullup() would prepend an mbuf to the list created by m_defrag() making the chain greater than 32 again.
This commit is contained in:
parent
fe6d937978
commit
d6fd29cba9
@ -1830,7 +1830,6 @@ em_xmit(struct tx_ring *txr, struct mbuf **m_headp)
|
||||
int nsegs, i, j, first, last = 0;
|
||||
int error, do_tso, tso_desc = 0, remap = 1;
|
||||
|
||||
retry:
|
||||
m_head = *m_headp;
|
||||
txd_upper = txd_lower = txd_used = txd_saved = 0;
|
||||
do_tso = ((m_head->m_pkthdr.csum_flags & CSUM_TSO) != 0);
|
||||
@ -1956,6 +1955,7 @@ retry:
|
||||
tx_buffer_mapped = tx_buffer;
|
||||
map = tx_buffer->map;
|
||||
|
||||
retry:
|
||||
error = bus_dmamap_load_mbuf_sg(txr->txtag, map,
|
||||
*m_headp, segs, &nsegs, BUS_DMA_NOWAIT);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user