vmxnet3: fail when try to setup unsupported features
authorStanislaw Gruszka <sgruszka@redhat.com>
Sun, 27 Jun 2010 23:29:42 +0000 (23:29 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 29 Jun 2010 07:53:26 +0000 (00:53 -0700)
Return EOPNOTSUPP in ethtool_ops->set_flags.

Fix coding style while at it.

Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/vmxnet3/vmxnet3_ethtool.c

index 3935c4493fb708bbaaba992c6f1f7e72e2e4ad3a..8a71a21d53ec678977598bb918373a93074a6146 100644 (file)
@@ -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;