From c1ae4bb3f1389fc27c88ea548df40b343bddab47 Mon Sep 17 00:00:00 2001 From: Stanislaw Gruszka Date: Sun, 27 Jun 2010 23:29:42 +0000 Subject: [PATCH] --- yaml --- r: 203213 b: refs/heads/master c: d92be4b1661be0cef5f277f10078c71c166f16ad h: refs/heads/master i: 203211: 59bcf59e6f8dc92b4b478229060b07b9c2199126 v: v3 --- [refs] | 2 +- trunk/drivers/net/vmxnet3/vmxnet3_ethtool.c | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 304492b804a9..554ac9fa5ea7 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 52b6dcfe59d73347a598ba0826a6191a1e497679 +refs/heads/master: d92be4b1661be0cef5f277f10078c71c166f16ad diff --git a/trunk/drivers/net/vmxnet3/vmxnet3_ethtool.c b/trunk/drivers/net/vmxnet3/vmxnet3_ethtool.c index 3935c4493fb7..8a71a21d53ec 100644 --- a/trunk/drivers/net/vmxnet3/vmxnet3_ethtool.c +++ b/trunk/drivers/net/vmxnet3/vmxnet3_ethtool.c @@ -276,16 +276,21 @@ vmxnet3_get_strings(struct net_device *netdev, u32 stringset, u8 *buf) } static u32 -vmxnet3_get_flags(struct net_device *netdev) { +vmxnet3_get_flags(struct net_device *netdev) +{ return netdev->features; } static int -vmxnet3_set_flags(struct net_device *netdev, u32 data) { +vmxnet3_set_flags(struct net_device *netdev, u32 data) +{ struct vmxnet3_adapter *adapter = netdev_priv(netdev); u8 lro_requested = (data & ETH_FLAG_LRO) == 0 ? 0 : 1; u8 lro_present = (netdev->features & NETIF_F_LRO) == 0 ? 0 : 1; + if (data & ~ETH_FLAG_LRO) + return -EOPNOTSUPP; + if (lro_requested ^ lro_present) { /* toggle the LRO feature*/ netdev->features ^= NETIF_F_LRO;