OSDN Git Service

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 4870c35..b1f3f48 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))