Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 28 Sep 2009 19:40:16 +0000 (UTC)
From:      Pyun YongHyeon <yongari@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r197586 - head/sys/dev/fxp
Message-ID:  <200909281940.n8SJeGrG063981@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: yongari
Date: Mon Sep 28 19:40:16 2009
New Revision: 197586
URL: http://svn.freebsd.org/changeset/base/197586

Log:
  It seems some 82559ER controllers do not support Rx checksum
  offloading. Datasheet said nothing about the limitation of 82559ER
  except WOL. Explicitly disable Rx checksum offloading for
  controllers that is known to lack the capability.
  
  PR:	kern/138135
  Tested by:	Gooderum, Mark < mgooderum <> websense dot com >

Modified:
  head/sys/dev/fxp/if_fxp.c

Modified: head/sys/dev/fxp/if_fxp.c
==============================================================================
--- head/sys/dev/fxp/if_fxp.c	Mon Sep 28 19:33:52 2009	(r197585)
+++ head/sys/dev/fxp/if_fxp.c	Mon Sep 28 19:40:16 2009	(r197586)
@@ -631,8 +631,11 @@ fxp_attach(device_t dev)
 	}
 
 	/* For 82559 or later chips, Rx checksum offload is supported. */
-	if (sc->revision >= FXP_REV_82559_A0)
-		sc->flags |= FXP_FLAG_82559_RXCSUM;
+	if (sc->revision >= FXP_REV_82559_A0) {
+		/* 82559ER does not support Rx checksum offloading. */
+		if (sc->ident->devid != 0x1209)
+			sc->flags |= FXP_FLAG_82559_RXCSUM;
+	}
 	/*
 	 * Enable use of extended RFDs and TCBs for 82550
 	 * and later chips. Note: we need extended TXCB support



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