Browse Source

net: Fix dev dev_ethtool_get_rx_csum() for forced NETIF_F_RXCSUM

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>
Michał Mirosław 14 years ago
parent
commit
4dd5ffe4fc
1 changed files with 2 additions and 2 deletions
  1. 2 2
      include/linux/netdevice.h

+ 2 - 2
include/linux/netdevice.h

@@ -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)
 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)
 	if (!dev->ethtool_ops || !dev->ethtool_ops->get_rx_csum)
 		return 0;
 		return 0;
 	return dev->ethtool_ops->get_rx_csum(dev);
 	return dev->ethtool_ops->get_rx_csum(dev);