Author: rmacklem
Date: Sun Aug 24 13:03:51 2014
New Revision: 270458
URL: http://svnweb.freebsd.org/changeset/base/270458

Log:
  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.

Modified:
  stable/9/sys/dev/e1000/if_em.c
Directory Properties:
  stable/9/sys/   (props changed)
  stable/9/sys/dev/   (props changed)
  stable/9/sys/dev/e1000/   (props changed)

Modified: stable/9/sys/dev/e1000/if_em.c
==============================================================================
--- stable/9/sys/dev/e1000/if_em.c      Sun Aug 24 12:51:34 2014        
(r270457)
+++ stable/9/sys/dev/e1000/if_em.c      Sun Aug 24 13:03:51 2014        
(r270458)
@@ -1830,7 +1830,6 @@ em_xmit(struct tx_ring *txr, struct mbuf
        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);
 
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to