From: Haiyang Zhang Date: Wed, 30 Oct 2019 15:32:11 +0000 (+0000) Subject: hv_netvsc: Fix error handling in netvsc_set_features() X-Git-Tag: v5.4-rc6~8^2~15^2~1 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=c4509a5ac0ace94d5b1f0092dc4d36933c1d896e;p=linux-block.git 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 Signed-off-by: David S. Miller --- 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)