svn commit: r268726 - head/sys/dev/e1000

Rick Macklem rmacklem at FreeBSD.org
Tue Jul 15 23:32:14 UTC 2014


Author: rmacklem
Date: Tue Jul 15 23:32:13 2014
New Revision: 268726
URL: http://svnweb.freebsd.org/changeset/base/268726

Log:
  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.
  
  Tested by:	rcarter at pinyon.org
  Reviewed by:	yongari, jfv
  MFC after:	2 weeks

Modified:
  head/sys/dev/e1000/if_em.c

Modified: head/sys/dev/e1000/if_em.c
==============================================================================
--- head/sys/dev/e1000/if_em.c	Tue Jul 15 23:29:20 2014	(r268725)
+++ head/sys/dev/e1000/if_em.c	Tue Jul 15 23:32:13 2014	(r268726)
@@ -1818,7 +1818,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);
@@ -1944,6 +1943,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);
 


More information about the svn-src-head mailing list