On Tue, Oct 26, 2010 at 10:27:42AM +0200, Julien Cristau wrote: > On Mon, Oct 25, 2010 at 22:25:15 +0100, Ben Hutchings wrote: > > > Please build and install a kernel package with the attached patch, > > following the instructions at > > <http://kernel-handbook.alioth.debian.org/ch-common-tasks.html#s-common-official> > > and then try disabling TSO using the ethtool command > > ('ethtool -K eth0 tso off'). > > > Forgot to attach the patch? D'oh. Ben. -- Ben Hutchings We get into the habit of living before acquiring the habit of thinking. - Albert Camus
From 3dedfefdfd36f96a2b5614ce678d579456bd8ac2 Mon Sep 17 00:00:00 2001 From: Ben Hutchings <ben@decadent.org.uk> Date: Mon, 25 Oct 2010 23:18:42 +0200 Subject: [PATCH] at1lc: Allow disabling TX checksum offload and TSO Signed-off-by: Ben Hutchings <ben@decadent.org.uk> --- drivers/net/atl1c/atl1c_ethtool.c | 12 ++++++++++++ 1 files changed, 12 insertions(+), 0 deletions(-) diff --git a/drivers/net/atl1c/atl1c_ethtool.c b/drivers/net/atl1c/atl1c_ethtool.c index 9b1e0ea..2f12e54 100644 --- a/drivers/net/atl1c/atl1c_ethtool.c +++ b/drivers/net/atl1c/atl1c_ethtool.c @@ -117,6 +117,15 @@ static u32 atl1c_get_tx_csum(struct net_device *netdev) return (netdev->features & NETIF_F_HW_CSUM) != 0; } +static int atl1c_set_tso(struct net_device *netdev, u32 data) +{ + if (data) + netdev->features |= NETIF_F_TSO | NETIF_F_TSO6; + else + netdev->features &= ~(NETIF_F_TSO | NETIF_F_TSO6); + return 0; +} + static u32 atl1c_get_msglevel(struct net_device *netdev) { struct atl1c_adapter *adapter = netdev_priv(netdev); @@ -309,8 +318,11 @@ static const struct ethtool_ops atl1c_ethtool_ops = { .get_eeprom_len = atl1c_get_eeprom_len, .get_eeprom = atl1c_get_eeprom, .get_tx_csum = atl1c_get_tx_csum, + .set_tx_csum = ethtool_op_set_tx_hw_csum, .get_sg = ethtool_op_get_sg, .set_sg = ethtool_op_set_sg, + .get_tso = ethtool_op_get_tso, + .set_tso = atl1c_set_tso, }; void atl1c_set_ethtool_ops(struct net_device *netdev) -- 1.7.2.3
Attachment:
signature.asc
Description: Digital signature