[NET]: Document ->hard_start_xmit() locking in comments.
authorBen Greear <greearb@candelatech.com>
Mon, 25 Apr 2005 03:12:36 +0000 (20:12 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 25 Apr 2005 03:12:36 +0000 (20:12 -0700)
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/dev.c

index 42344d903692ff8bd305d8892a68a2463fbe9ff3..7bd4cd4502c47eb1c530b548560c54a9139df04a 100644 (file)
@@ -1214,6 +1214,19 @@ int __skb_linearize(struct sk_buff *skb, int gfp_mask)
  *     A negative errno code is returned on a failure. A success does not
  *     guarantee the frame will be transmitted as it may be dropped due
  *     to congestion or traffic shaping.
+ *
+ * -----------------------------------------------------------------------------------
+ *      I notice this method can also return errors from the queue disciplines,
+ *      including NET_XMIT_DROP, which is a positive value.  So, errors can also
+ *      be positive.
+ *
+ *      Regardless of the return value, the skb is consumed, so it is currently
+ *      difficult to retry a send to this method.  (You can bump the ref count
+ *      before sending to hold a reference for retry if you are careful.)
+ *
+ *      When calling this method, interrupts MUST be enabled.  This is because
+ *      the BH enable code must have IRQs enabled so that it will not deadlock.
+ *          --BLG
  */
 
 int dev_queue_xmit(struct sk_buff *skb)