summaryrefslogtreecommitdiff
path: root/Documentation
diff options
context:
space:
mode:
authorAndi Kleen <ak@suse.de>2004-09-12 02:55:52 -0700
committerDavid S. Miller <davem@nuts.davemloft.net>2004-09-12 02:55:52 -0700
commit7066e0b720ed8d3a64dc45a490bb47ace28965e8 (patch)
treeacca3d8011ce7d0552e45a0fe57317003b2f5955 /Documentation
parent94ca8643653c08620fcd782a8a3b0f3a1b105646 (diff)
[NET]: Improve netdev->hard_start_xmit() documentation.
With improvements by Francois Romieu and David S. Miller. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/networking/netdevices.txt13
1 files changed, 13 insertions, 0 deletions
diff --git a/Documentation/networking/netdevices.txt b/Documentation/networking/netdevices.txt
index 8c456edb6aad..1509f3aff968 100644
--- a/Documentation/networking/netdevices.txt
+++ b/Documentation/networking/netdevices.txt
@@ -43,8 +43,21 @@ dev->get_stats:
dev->hard_start_xmit:
Synchronization: dev->xmit_lock spinlock.
+ When the driver sets NETIF_F_LLTX in dev->features this will be
+ called without holding xmit_lock. In this case the driver
+ has to lock by itself when needed. It is recommended to use a try lock
+ for this and return -1 when the spin lock fails.
+ The locking there should also properly protect against
+ set_multicast_list
Context: BHs disabled
Notes: netif_queue_stopped() is guaranteed false
+ Return codes:
+ o NETDEV_TX_OK everything ok.
+ o NETDEV_TX_BUSY Cannot transmit packet, try later
+ Usually a bug, means queue start/stop flow control is broken in
+ the driver. Note: the driver must NOT put the skb in its DMA ring.
+ o NETDEV_TX_LOCKED Locking failed, please retry quickly.
+ Only valid when NETIF_F_LLTX is set.
dev->tx_timeout:
Synchronization: dev->xmit_lock spinlock.