diff options
author | Michał Mirosław <mirq-linux@rere.qmqm.pl> | 2011-02-22 17:52:28 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-02-23 23:23:31 +0100 |
commit | 14d1232f490c1c696582909fb3b69e67a8d38a34 (patch) | |
tree | 72e8c7ddd266fba48d1b0aa5b537393b73b7b293 /net/core | |
parent | Fix "(unregistered net_device): Features changed" message (diff) | |
download | linux-14d1232f490c1c696582909fb3b69e67a8d38a34.tar.xz 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')
-rw-r--r-- | net/core/dev.c | 8 |
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 |