]> Git Repo - linux.git/commitdiff
tuntap: restore default qdisc
authorJason Wang <[email protected]>
Fri, 8 Apr 2016 05:26:48 +0000 (13:26 +0800)
committerDavid S. Miller <[email protected]>
Fri, 8 Apr 2016 19:52:45 +0000 (15:52 -0400)
After commit f84bb1eac027 ("net: fix IFF_NO_QUEUE for drivers using
alloc_netdev"), default qdisc was changed to noqueue because
tuntap does not set tx_queue_len during .setup(). This patch restores
default qdisc by setting tx_queue_len in tun_setup().

Fixes: f84bb1eac027 ("net: fix IFF_NO_QUEUE for drivers using alloc_netdev")
Cc: Phil Sutter <[email protected]>
Signed-off-by: Jason Wang <[email protected]>
Acked-by: Michael S. Tsirkin <[email protected]>
Acked-by: Phil Sutter <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
drivers/net/tun.c

index 510e90a6bb2618186044afab466036927b3ce6c0..2c9e45f50edb299714f2c2fead0e78b4092b5904 100644 (file)
@@ -1015,7 +1015,6 @@ static void tun_net_init(struct net_device *dev)
                /* Zero header length */
                dev->type = ARPHRD_NONE;
                dev->flags = IFF_POINTOPOINT | IFF_NOARP | IFF_MULTICAST;
-               dev->tx_queue_len = TUN_READQ_SIZE;  /* We prefer our own queue length */
                break;
 
        case IFF_TAP:
@@ -1027,7 +1026,6 @@ static void tun_net_init(struct net_device *dev)
 
                eth_hw_addr_random(dev);
 
-               dev->tx_queue_len = TUN_READQ_SIZE;  /* We prefer our own queue length */
                break;
        }
 }
@@ -1481,6 +1479,8 @@ static void tun_setup(struct net_device *dev)
 
        dev->ethtool_ops = &tun_ethtool_ops;
        dev->destructor = tun_free_netdev;
+       /* We prefer our own queue length */
+       dev->tx_queue_len = TUN_READQ_SIZE;
 }
 
 /* Trivial set of netlink ops to allow deleting tun or tap
This page took 0.044894 seconds and 4 git commands to generate.