diff options
author | Michał Mirosław <mirq-linux@rere.qmqm.pl> | 2011-04-03 01:48:47 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-04-03 01:48:47 -0400 |
commit | 6cb6a27c45cec9184302c2e350b3593c64bc7f6c (patch) | |
tree | 1338b3838588ce4c28b71c4e611db51eea53e89b /net/core/ethtool.c | |
parent | e9403c8437cf3721e7901c1a8fcb06bb642a7e55 (diff) |
net: Call netdev_features_change() from netdev_update_features()
Issue FEAT_CHANGE notification when features are changed by
netdev_update_features(). This will allow changes made by extra constraints
on e.g. MTU change to be properly propagated like changes via ethtool.
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/ethtool.c')
-rw-r--r-- | net/core/ethtool.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/net/core/ethtool.c b/net/core/ethtool.c index 74ead9eca12..439e4b0e131 100644 --- a/net/core/ethtool.c +++ b/net/core/ethtool.c | |||
@@ -317,7 +317,7 @@ static int ethtool_set_features(struct net_device *dev, void __user *useraddr) | |||
317 | 317 | ||
318 | dev->wanted_features &= ~features[0].valid; | 318 | dev->wanted_features &= ~features[0].valid; |
319 | dev->wanted_features |= features[0].valid & features[0].requested; | 319 | dev->wanted_features |= features[0].valid & features[0].requested; |
320 | netdev_update_features(dev); | 320 | __netdev_update_features(dev); |
321 | 321 | ||
322 | if ((dev->wanted_features ^ dev->features) & features[0].valid) | 322 | if ((dev->wanted_features ^ dev->features) & features[0].valid) |
323 | ret |= ETHTOOL_F_WISH; | 323 | ret |= ETHTOOL_F_WISH; |
@@ -499,7 +499,7 @@ static int ethtool_set_one_feature(struct net_device *dev, | |||
499 | else | 499 | else |
500 | dev->wanted_features &= ~mask; | 500 | dev->wanted_features &= ~mask; |
501 | 501 | ||
502 | netdev_update_features(dev); | 502 | __netdev_update_features(dev); |
503 | return 0; | 503 | return 0; |
504 | } | 504 | } |
505 | 505 | ||
@@ -551,7 +551,7 @@ int __ethtool_set_flags(struct net_device *dev, u32 data) | |||
551 | dev->wanted_features = | 551 | dev->wanted_features = |
552 | (dev->wanted_features & ~changed) | data; | 552 | (dev->wanted_features & ~changed) | data; |
553 | 553 | ||
554 | netdev_update_features(dev); | 554 | __netdev_update_features(dev); |
555 | 555 | ||
556 | return 0; | 556 | return 0; |
557 | } | 557 | } |