summaryrefslogtreecommitdiffstats
path: root/net/core/dev.c
diff options
context:
space:
mode:
authorMichał Mirosław2011-02-22 17:52:28 +0100
committerDavid S. Miller2011-02-23 23:23:31 +0100
commit14d1232f490c1c696582909fb3b69e67a8d38a34 (patch)
tree72e8c7ddd266fba48d1b0aa5b537393b73b7b293 /net/core/dev.c
parentFix "(unregistered net_device): Features changed" message (diff)
downloadkernel-qcow2-linux-14d1232f490c1c696582909fb3b69e67a8d38a34.tar.gz
kernel-qcow2-linux-14d1232f490c1c696582909fb3b69e67a8d38a34.tar.xz
kernel-qcow2-linux-14d1232f490c1c696582909fb3b69e67a8d38a34.zip
net: avoid initial "Features changed" message
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>
Diffstat (limited to 'net/core/dev.c')
-rw-r--r--net/core/dev.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/net/core/dev.c b/net/core/dev.c
index 77e5edb724f4..69a3c0817d6f 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -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