On Fri, Apr 08, 2016 at 01:26:48PM +0800, Jason Wang wrote:
> 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 <p...@nwl.cc>
> Signed-off-by: Jason Wang <jasow...@redhat.com>

Acked-by: Michael S. Tsirkin <m...@redhat.com>

> ---
>  drivers/net/tun.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/tun.c b/drivers/net/tun.c
> index 510e90a..2c9e45f5 100644
> --- a/drivers/net/tun.c
> +++ b/drivers/net/tun.c
> @@ -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
> -- 
> 2.5.0

Reply via email to