diff options
author | yongari <yongari@FreeBSD.org> | 2007-04-25 01:17:44 +0000 |
---|---|---|
committer | yongari <yongari@FreeBSD.org> | 2007-04-25 01:17:44 +0000 |
commit | b24d36a8ee86513de81df56add356f7523f56e5c (patch) | |
tree | b95c38b57306fdcf2e6a682b5d2f91b2ced5bf52 /sys/dev/msk | |
parent | 2e9eafcc02ba64530bb21adaffbb7b5978906c8a (diff) | |
download | FreeBSD-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.c | 8 |
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; |