From: Phil Sutter Date: Thu, 27 Aug 2015 19:21:36 +0000 (+0200) Subject: net: fix IFF_NO_QUEUE for drivers using alloc_netdev X-Git-Tag: v4.3-rc1~96^2~56^2~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f84bb1eac0275283ccd76455e20f926e186ea8c8;p=platform%2Fkernel%2Flinux-exynos.git net: fix IFF_NO_QUEUE for drivers using alloc_netdev Printing a warning in alloc_netdev_mqs() if tx_queue_len is zero and IFF_NO_QUEUE not set is not appropriate since drivers may use one of the alloc_netdev* macros instead of alloc_etherdev*, thereby not intentionally leaving tx_queue_len uninitialized. Instead check here if tx_queue_len is zero and set IFF_NO_QUEUE, so the value of tx_queue_len can be ignored in net/sched_generic.c. Fixes: 906470c ("net: warn if drivers set tx_queue_len = 0") Signed-off-by: Phil Sutter Signed-off-by: David S. Miller --- diff --git a/net/core/dev.c b/net/core/dev.c index a8e6cf4..877c848 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -7010,7 +7010,7 @@ struct net_device *alloc_netdev_mqs(int sizeof_priv, const char *name, setup(dev); if (!dev->tx_queue_len) - printk(KERN_WARNING "%s uses DEPRECATED zero tx_queue_len - convert driver to use IFF_NO_QUEUE instead.\n", name); + dev->priv_flags |= IFF_NO_QUEUE; dev->num_tx_queues = txqs; dev->real_num_tx_queues = txqs;