summaryrefslogtreecommitdiffstats
path: root/sys/dev/msk
diff options
context:
space:
mode:
authoryongari <yongari@FreeBSD.org>2007-04-25 01:17:44 +0000
committeryongari <yongari@FreeBSD.org>2007-04-25 01:17:44 +0000
commitb24d36a8ee86513de81df56add356f7523f56e5c (patch)
treeb95c38b57306fdcf2e6a682b5d2f91b2ced5bf52 /sys/dev/msk
parent2e9eafcc02ba64530bb21adaffbb7b5978906c8a (diff)
downloadFreeBSD-src-b24d36a8ee86513de81df56add356f7523f56e5c.zip
FreeBSD-src-b24d36a8ee86513de81df56add356f7523f56e5c.tar.gz
Disable TSO support.
Under certain circumtances, if TSO is active, Yukon II generates corrupted IP packets. All corrupted IP packets I noticed were the the last segmented packet in a TSO request. The corrupted packet resulted in retransmission of the damaged packet which in turn decreased network performance dramatically. Unfortunately it seems that there is no way to workaround this bug as TSO is completely handled in hardware. Disable TSO until we find a working workaround or a new silicon revision that doesn't have this hardware bug.
Diffstat (limited to 'sys/dev/msk')
-rw-r--r--sys/dev/msk/if_msk.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/dev/msk/if_msk.c b/sys/dev/msk/if_msk.c
index 47c8e22..0e227c6 100644
--- a/sys/dev/msk/if_msk.c
+++ b/sys/dev/msk/if_msk.c
@@ -1452,11 +1452,19 @@ msk_attach(device_t dev)
*/
ifp->if_capabilities = IFCAP_TXCSUM;
ifp->if_hwassist = MSK_CSUM_FEATURES;
+#if 0
+ /*
+ * Under certain circumtances, if TSO is active, Yukon II generates
+ * corrupted IP packets. Disable TSO until we find a working
+ * workaround or a new silicon revision that doesn't have this
+ * hardware bug.
+ */
if (sc->msk_hw_id != CHIP_ID_YUKON_EC_U) {
/* It seems Yukon EC Ultra doesn't support TSO. */
ifp->if_capabilities |= IFCAP_TSO4;
ifp->if_hwassist |= CSUM_TSO;
}
+#endif
ifp->if_capenable = ifp->if_capabilities;
ifp->if_ioctl = msk_ioctl;
ifp->if_start = msk_start;
OpenPOWER on IntegriCloud