summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYaroslav Isakov <yaroslav.isakov@gmail.com>2017-03-16 22:44:10 +0300
committerDavid S. Miller <davem@davemloft.net>2017-03-21 15:30:59 -0700
commit09050957fae896e001498af1aa35c446a11cb47d (patch)
tree0a76553edb3a05acb0c835d91ade954f3b64b6fa
parent7df9c24625b9981779afb8fcdbe2bb4765e61147 (diff)
downloadlinux-09050957fae896e001498af1aa35c446a11cb47d.tar.gz
linux-09050957fae896e001498af1aa35c446a11cb47d.tar.bz2
linux-09050957fae896e001498af1aa35c446a11cb47d.zip
tun: fix inability to set offloads after disabling them via ethtool
Added missing logic in tun driver, which prevents apps to set offloads using tun ioctl, if offloads were previously disabled via ethtool Signed-off-by: Yaroslav Isakov <yaroslav.isakov@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/tun.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/tun.c b/drivers/net/tun.c
index 34cc3c590aa5..cc88cd7856f5 100644
--- a/drivers/net/tun.c
+++ b/drivers/net/tun.c
@@ -1931,6 +1931,8 @@ static int set_offload(struct tun_struct *tun, unsigned long arg)
return -EINVAL;
tun->set_features = features;
+ tun->dev->wanted_features &= ~TUN_USER_FEATURES;
+ tun->dev->wanted_features |= features;
netdev_update_features(tun->dev);
return 0;