Implement get / set tso for forcedeth driver. Signed-off-by: Zachary Amsden Index: linux-2.6.17-rc/drivers/net/forcedeth.c =================================================================== --- linux-2.6.17-rc.orig/drivers/net/forcedeth.c 2006-05-18 13:31:55.000000000 -0700 +++ linux-2.6.17-rc/drivers/net/forcedeth.c 2006-05-31 14:34:53.000000000 -0700 @@ -2615,6 +2615,21 @@ static int nv_nway_reset(struct net_devi return ret; } +static int nv_set_tso(struct net_device *dev, u32 value) +{ + struct fe_priv *np = netdev_priv(dev); + int ret; + + spin_lock_irq(&np->lock); + if ((np->driver_data & DEV_HAS_CHECKSUM)) + ret = ethtool_op_set_tso(dev, value); + else + ret = value ? -EOPNOTSUPP : 0; + spin_unlock_irq(&np->lock); + + return ret; +} + static struct ethtool_ops ops = { .get_drvinfo = nv_get_drvinfo, .get_link = ethtool_op_get_link, @@ -2626,6 +2641,8 @@ static struct ethtool_ops ops = { .get_regs = nv_get_regs, .nway_reset = nv_nway_reset, .get_perm_addr = ethtool_op_get_perm_addr, + .get_tso = ethtool_op_get_tso, + .set_tso = nv_set_tso }; static void nv_vlan_rx_register(struct net_device *dev, struct vlan_group *grp)