Sridhar Samudrala wrote:
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()
that looks indeed like an oversight. I'll make sure this is verified and will
include this patch in my upstream submission to the kernel maintainer if it
checks out,
thanks for posting!
Auke
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