diff options
| author | Andi Kleen <ak@suse.de> | 2004-09-12 02:55:52 -0700 |
|---|---|---|
| committer | David S. Miller <davem@nuts.davemloft.net> | 2004-09-12 02:55:52 -0700 |
| commit | 7066e0b720ed8d3a64dc45a490bb47ace28965e8 (patch) | |
| tree | acca3d8011ce7d0552e45a0fe57317003b2f5955 /Documentation | |
| parent | 94ca8643653c08620fcd782a8a3b0f3a1b105646 (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.txt | 13 |
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. |
