[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <46085BE3.6040009@intel.com>
Date: Mon, 26 Mar 2007 16:48:51 -0700
From: "Kok, Auke" <auke-jan.h.kok@...el.com>
To: Sridhar Samudrala <sri@...ibm.com>
CC: netdev@...r.kernel.org,
Jesse Brandeburg <jesse.brandeburg@...el.com>,
"Tantilov, Emil S" <emil.s.tantilov@...el.com>
Subject: Re: [PATCH/RFC] e1000: Check for hw type before enabling ipv6 TSO
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 <sri@...ibm.com>
>
> 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 majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists