From c76336c23400be0c17a8ba97d7032b8a67d4dce4 Mon Sep 17 00:00:00 2001 From: rmacklem Date: Tue, 29 Jul 2014 21:05:51 +0000 Subject: [PATCH] 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. git-svn-id: svn://svn.freebsd.org/base/stable/10@269258 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f --- sys/dev/e1000/if_em.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/e1000/if_em.c b/sys/dev/e1000/if_em.c index fc24abeff..cc8b34ee5 100644 --- a/sys/dev/e1000/if_em.c +++ b/sys/dev/e1000/if_em.c @@ -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 @@ em_xmit(struct tx_ring *txr, struct mbuf **m_headp) 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); -- 2.45.0