diff options
author | Rusty Russell <rusty@rustcorp.com.au> | 2015-04-03 22:17:17 +1030 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-04-03 12:37:36 -0400 |
commit | e79d8429aac95a5cbe4c235795c7cd554c91f924 (patch) | |
tree | 3989a7a6e5c63fd999a1e329ea80dea0788453b2 /include/linux/netdevice.h | |
parent | 0bd66827220a7292bfbed54fb547c83363e07405 (diff) | |
download | lwn-e79d8429aac95a5cbe4c235795c7cd554c91f924.tar.gz lwn-e79d8429aac95a5cbe4c235795c7cd554c91f924.zip |
netdevice: document NETDEV_TX_BUSY deprecation.
This paraphrases DaveM (and steals some of his words) explaining why
a device shouldn't return NETDEV_TX_BUSY, even though it looks so inviting
to driver authors.
See http://www.spinics.net/lists/netdev/msg322350.html
Inspired-by: David Miller <davem@davemloft.net>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/netdevice.h')
-rw-r--r-- | include/linux/netdevice.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index 846a1f5bc9db..a710d22b174f 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h @@ -795,7 +795,10 @@ typedef u16 (*select_queue_fallback_t)(struct net_device *dev, * netdev_tx_t (*ndo_start_xmit)(struct sk_buff *skb, * struct net_device *dev); * Called when a packet needs to be transmitted. - * Must return NETDEV_TX_OK , NETDEV_TX_BUSY. + * Returns NETDEV_TX_OK. Can return NETDEV_TX_BUSY, but you should stop + * the queue before that can happen; it's for obsolete devices and weird + * corner cases, but the stack really does a non-trivial amount + * of useless work if you return NETDEV_TX_BUSY. * (can also return NETDEV_TX_LOCKED iff NETIF_F_LLTX) * Required can not be NULL. * |