Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
This commit is contained in:
@@ -514,8 +514,7 @@ again:
|
||||
/* Free up any pending old buffers before queueing new ones. */
|
||||
free_old_xmit_skbs(vi);
|
||||
|
||||
/* Put new one in send queue and do transmit */
|
||||
__skb_queue_head(&vi->send, skb);
|
||||
/* Try to transmit */
|
||||
capacity = xmit_skb(vi, skb);
|
||||
|
||||
/* This can happen with OOM and indirect buffers. */
|
||||
@@ -529,8 +528,17 @@ again:
|
||||
}
|
||||
return NETDEV_TX_BUSY;
|
||||
}
|
||||
|
||||
vi->svq->vq_ops->kick(vi->svq);
|
||||
|
||||
/*
|
||||
* Put new one in send queue. You'd expect we'd need this before
|
||||
* xmit_skb calls add_buf(), since the callback can be triggered
|
||||
* immediately after that. But since the callback just triggers
|
||||
* another call back here, normal network xmit locking prevents the
|
||||
* race.
|
||||
*/
|
||||
__skb_queue_head(&vi->send, skb);
|
||||
|
||||
/* Don't wait up for transmitted skbs to be freed. */
|
||||
skb_orphan(skb);
|
||||
nf_reset(skb);
|
||||
|
Reference in New Issue
Block a user