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