I think the check for hw type is missing in e1000_set_tso() before enabling ipv6 TSO.
e1000_probe() makes sure that NETIF_F_TSO6 is set only if hw.mac_type > e1000_82547_rev_2. But this is not done in e1000_set_tso() that gets called when trying to enable TSO using ethtool. I noticed this problem when i tried to do an ipv6 netperf test with TSO enabled on 82541 based e1000 card. The following patch adds this check to e1000_set_tso() Thanks Sridhar Signed-off-by: Sridhar Samudrala <[EMAIL PROTECTED]> diff --git a/drivers/net/e1000/e1000_ethtool.c b/drivers/net/e1000/e1000_ethtool.c --- a/drivers/net/e1000/e1000_ethtool.c +++ b/drivers/net/e1000/e1000_ethtool.c @@ -351,10 +351,12 @@ e1000_set_tso(struct net_device *netdev, uint32_t data) else netdev->features &= ~NETIF_F_TSO; - if (data) - netdev->features |= NETIF_F_TSO6; - else - netdev->features &= ~NETIF_F_TSO6; + if (adapter->hw.mac_type > e1000_82547_rev_2) { + if (data) + netdev->features |= NETIF_F_TSO6; + else + netdev->features &= ~NETIF_F_TSO6; + } DPRINTK(PROBE, INFO, "TSO is %s\n", data ? "Enabled" : "Disabled"); adapter->tso_force = TRUE; - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html