From 72f5b0d3c39d2909865d59ea6f8bb8affbc25b99 Mon Sep 17 00:00:00 2001 From: Zachary Amsden Date: Sun, 4 Jun 2006 02:51:38 -0700 Subject: [PATCH] --- yaml --- r: 27105 b: refs/heads/master c: 0674d594ad8e0856243536c0bcc22e4583554bfb h: refs/heads/master i: 27103: 7e9d15ea5a2094c16704da0b3da3ed2c53e4d2c1 v: v3 --- [refs] | 2 +- trunk/drivers/net/forcedeth.c | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 7e5a4ff03f37..2c70c58192d4 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 78b86e579f11e7d7bd45acd90b6a87cd4b7c5a54 +refs/heads/master: 0674d594ad8e0856243536c0bcc22e4583554bfb diff --git a/trunk/drivers/net/forcedeth.c b/trunk/drivers/net/forcedeth.c index 705e1229d89d..feb5b223cd60 100644 --- a/trunk/drivers/net/forcedeth.c +++ b/trunk/drivers/net/forcedeth.c @@ -2615,6 +2615,18 @@ static int nv_nway_reset(struct net_device *dev) return ret; } +#ifdef NETIF_F_TSO +static int nv_set_tso(struct net_device *dev, u32 value) +{ + struct fe_priv *np = netdev_priv(dev); + + if ((np->driver_data & DEV_HAS_CHECKSUM)) + return ethtool_op_set_tso(dev, value); + else + return value ? -EOPNOTSUPP : 0; +} +#endif + static struct ethtool_ops ops = { .get_drvinfo = nv_get_drvinfo, .get_link = ethtool_op_get_link, @@ -2626,6 +2638,10 @@ static struct ethtool_ops ops = { .get_regs = nv_get_regs, .nway_reset = nv_nway_reset, .get_perm_addr = ethtool_op_get_perm_addr, +#ifdef NETIF_F_TSO + .get_tso = ethtool_op_get_tso, + .set_tso = nv_set_tso +#endif }; static void nv_vlan_rx_register(struct net_device *dev, struct vlan_group *grp)