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.
This commit is contained in:
parent
3326191f71
commit
b2313f5861
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user