summaryrefslogtreecommitdiffstats
path: root/drivers/net/hyperv
diff options
context:
space:
mode:
authorHaiyang Zhang <haiyangz@microsoft.com>2019-10-30 15:32:11 +0000
committerDavid S. Miller <davem@davemloft.net>2019-10-30 18:17:36 -0700
commitc4509a5ac0ace94d5b1f0092dc4d36933c1d896e (patch)
tree8710715dceb299bed1ac3ef42b420d61c25f3dd6 /drivers/net/hyperv
parentfc89cc358fb64e2429aeae0f37906126636507ec (diff)
downloadlinux-c4509a5ac0ace94d5b1f0092dc4d36933c1d896e.tar.gz
linux-c4509a5ac0ace94d5b1f0092dc4d36933c1d896e.tar.bz2
linux-c4509a5ac0ace94d5b1f0092dc4d36933c1d896e.zip
hv_netvsc: Fix error handling in netvsc_set_features()
When an error is returned by rndis_filter_set_offload_params(), we should still assign the unaffected features to ndev->features. Otherwise, these features will be missing. Fixes: d6792a5a0747 ("hv_netvsc: Add handler for LRO setting change") Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/hyperv')
-rw-r--r--drivers/net/hyperv/netvsc_drv.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/hyperv/netvsc_drv.c b/drivers/net/hyperv/netvsc_drv.c
index fd4fff57fd6e..bab7c1f84dfd 100644
--- a/drivers/net/hyperv/netvsc_drv.c
+++ b/drivers/net/hyperv/netvsc_drv.c
@@ -1807,8 +1807,10 @@ static int netvsc_set_features(struct net_device *ndev,
ret = rndis_filter_set_offload_params(ndev, nvdev, &offloads);
- if (ret)
+ if (ret) {
features ^= NETIF_F_LRO;
+ ndev->features = features;
+ }
syncvf:
if (!vf_netdev)