net: warn if drivers set tx_queue_len = 0
authorPhil Sutter <phil@nwl.cc>
Tue, 18 Aug 2015 08:30:48 +0000 (10:30 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 18 Aug 2015 18:55:08 +0000 (11:55 -0700)
Due to the introduction of IFF_NO_QUEUE, there is a better way for
drivers to indicate that no qdisc should be attached by default. Though,
the old convention can't be dropped since ignoring that setting would
break drivers still using it. Instead, add a warning so out-of-tree
driver maintainers get a chance to adjust their code before we finally
get rid of any special handling of tx_queue_len == 0.

Signed-off-by: Phil Sutter <phil@nwl.cc>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/dev.c

index 4870c3556a5a68be94cf28b65d527331810e7187..b1f3f4844e60c21248f97ef4c2a3c0b0dddc1bca 100644 (file)
@@ -6997,6 +6997,9 @@ struct net_device *alloc_netdev_mqs(int sizeof_priv, const char *name,
        dev->priv_flags = IFF_XMIT_DST_RELEASE | IFF_XMIT_DST_RELEASE_PERM;
        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->num_tx_queues = txqs;
        dev->real_num_tx_queues = txqs;
        if (netif_alloc_netdev_queues(dev))