net: Fix dev dev_ethtool_get_rx_csum() for forced NETIF_F_RXCSUM
authorMichał Mirosław <mirq-linux@rere.qmqm.pl>
Wed, 30 Mar 2011 23:58:08 +0000 (23:58 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sat, 2 Apr 2011 03:23:25 +0000 (20:23 -0700)
dev_ethtool_get_rx_csum() won't report rx checksumming when it's not
changeable and driver is converted to hw_features and friends. Fix this.

(dev->hw_features & NETIF_F_RXCSUM) check is dropped - if the
ethtool_ops->get_rx_csum is set, then driver is not coverted, yet.

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/netdevice.h

index 5eeb2cd3631ce6f627978385608c8d2e52a48ff4..0249fe7e38721c7eb302a4a42affe34c28ace95f 100644 (file)
@@ -2598,8 +2598,8 @@ static inline int dev_ethtool_get_settings(struct net_device *dev,
 
 static inline u32 dev_ethtool_get_rx_csum(struct net_device *dev)
 {
-       if (dev->hw_features & NETIF_F_RXCSUM)
-               return !!(dev->features & NETIF_F_RXCSUM);
+       if (dev->features & NETIF_F_RXCSUM)
+               return 1;
        if (!dev->ethtool_ops || !dev->ethtool_ops->get_rx_csum)
                return 0;
        return dev->ethtool_ops->get_rx_csum(dev);