diff options
author | Nikolay Aleksandrov <nikolay@cumulusnetworks.com> | 2015-11-17 17:49:06 +0300 |
---|---|---|
committer | Zefan Li <lizefan@huawei.com> | 2016-10-26 18:15:46 +0300 |
commit | 86eecef7f9d182c759c687020a504235c6bef903 (patch) | |
tree | 6ab7aaee44fd4f25fe4b9126084ab720f3eac960 | |
parent | 17fd6bbdac823dac8ecc7a33a7fa42238d9da5ed (diff) | |
download | linux-86eecef7f9d182c759c687020a504235c6bef903.tar.xz |
net/core: revert "net: fix __netdev_update_features return.." and add comment
commit 17b85d29e82cc3c874a497a8bc5764d6a2b043e2 upstream.
This reverts commit 00ee59271777 ("net: fix __netdev_update_features return
on ndo_set_features failure")
and adds a comment explaining why it's okay to return a value other than
0 upon error. Some drivers might actually change flags and return an
error so it's better to fire a spurious notification rather than miss
these.
CC: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Signed-off-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Zefan Li <lizefan@huawei.com>
-rw-r--r-- | net/core/dev.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index 1f57ab1c6adf..573d62b9cbeb 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -5368,7 +5368,10 @@ int __netdev_update_features(struct net_device *dev) netdev_err(dev, "set_features() failed (%d); wanted %pNF, left %pNF\n", err, &features, &dev->features); - return 0; + /* return non-0 since some features might have changed and + * it's better to fire a spurious notification than miss it + */ + return -1; } if (!err) |