Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 4 Feb 2016 23:56:01 +0000 (UTC)
From:      Marius Strobl <marius@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject:   svn commit: r295287 - stable/10/sys/dev/e1000
Message-ID:  <201602042356.u14Nu1m3074801@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: marius
Date: Thu Feb  4 23:56:01 2016
New Revision: 295287
URL: https://svnweb.freebsd.org/changeset/base/295287

Log:
  MFC: r295133
  
  As it turns out, one of the more or less recent changes to em(4)
  causes watchdog timeouts when using TSO4 at link speeds below
  Gigabit, at least with 82573E. So disable the assist automatically
  when at lower speeds.
  
  Submitted by:	jfv
  Approved by:	re (kib), erj
  Obtained from:	D3162

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

Modified: stable/10/sys/dev/e1000/if_em.c
==============================================================================
--- stable/10/sys/dev/e1000/if_em.c	Thu Feb  4 23:38:55 2016	(r295286)
+++ stable/10/sys/dev/e1000/if_em.c	Thu Feb  4 23:56:01 2016	(r295287)
@@ -1377,8 +1377,15 @@ em_init_locked(struct adapter *adapter)
 	ifp->if_hwassist = 0;
 	if (ifp->if_capenable & IFCAP_TXCSUM)
 		ifp->if_hwassist |= (CSUM_TCP | CSUM_UDP);
-	if (ifp->if_capenable & IFCAP_TSO4)
-		ifp->if_hwassist |= CSUM_TSO;
+	/* 
+	** There have proven to be problems with TSO when not
+	** at full gigabit speed, so disable the assist automatically
+	** when at lower speeds.  -jfv
+	*/
+	if (ifp->if_capenable & IFCAP_TSO4) {
+		if (adapter->link_speed == SPEED_1000)
+			ifp->if_hwassist |= CSUM_TSO;
+	}
 
 	/* Configure for OS presence */
 	em_init_manageability(adapter);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201602042356.u14Nu1m3074801>