net: avoid initial "Features changed" message
authorMichał Mirosław <mirq-linux@rere.qmqm.pl>
Tue, 22 Feb 2011 16:52:28 +0000 (16:52 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 23 Feb 2011 22:23:31 +0000 (14:23 -0800)
Avoid "Features changed" message and ndo_set_features call on device
registration caused by automatic enabling of GSO and GRO. Driver should
have enabled hardware offloads it set in features, so the ndo_set_features()
is not needed at registration time.

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

index 77e5edb..69a3c08 100644 (file)
@@ -5476,12 +5476,14 @@ int register_netdevice(struct net_device *dev)
         * software offloads (GSO and GRO).
         */
        dev->hw_features |= NETIF_F_SOFT_FEATURES;
-       dev->wanted_features = (dev->features & dev->hw_features)
-               | NETIF_F_SOFT_FEATURES;
+       dev->features |= NETIF_F_SOFT_FEATURES;
+       dev->wanted_features = dev->features & dev->hw_features;
 
        /* Avoid warning from netdev_fix_features() for GSO without SG */
-       if (!(dev->wanted_features & NETIF_F_SG))
+       if (!(dev->wanted_features & NETIF_F_SG)) {
                dev->wanted_features &= ~NETIF_F_GSO;
+               dev->features &= ~NETIF_F_GSO;
+       }
 
        /* Enable GRO and NETIF_F_HIGHDMA for vlans by default,
         * vlan_dev_init() will do the dev->features check, so these features