Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab...
[cascardo/linux.git] / drivers / net / tun.c
index 9c61f87..7eab5fc 100644 (file)
@@ -841,7 +841,7 @@ static const struct net_device_ops tap_netdev_ops = {
 #endif
 };
 
-static int tun_flow_init(struct tun_struct *tun)
+static void tun_flow_init(struct tun_struct *tun)
 {
        int i;
 
@@ -852,8 +852,6 @@ static int tun_flow_init(struct tun_struct *tun)
        setup_timer(&tun->flow_gc_timer, tun_flow_cleanup, (unsigned long)tun);
        mod_timer(&tun->flow_gc_timer,
                  round_jiffies_up(jiffies + tun->ageing_time));
-
-       return 0;
 }
 
 static void tun_flow_uninit(struct tun_struct *tun)
@@ -1532,6 +1530,9 @@ static int tun_flags(struct tun_struct *tun)
        if (tun->flags & TUN_TAP_MQ)
                flags |= IFF_MULTI_QUEUE;
 
+       if (tun->flags & TUN_PERSIST)
+               flags |= IFF_PERSIST;
+
        return flags;
 }
 
@@ -1661,10 +1662,7 @@ static int tun_set_iff(struct net *net, struct file *file, struct ifreq *ifr)
                        goto err_free_dev;
 
                tun_net_init(dev);
-
-               err = tun_flow_init(tun);
-               if (err < 0)
-                       goto err_free_dev;
+               tun_flow_init(tun);
 
                dev->hw_features = NETIF_F_SG | NETIF_F_FRAGLIST |
                        TUN_USER_FEATURES;