diff options
author | Daniel Borkmann <dborkman@redhat.com> | 2014-08-24 17:42:16 +0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-08-26 03:29:46 +0400 |
commit | 9c938cddc01d7e8a96e702183c822bf3e4452365 (patch) | |
tree | 3e6ba3281e8f70b011160b36b1121c20ae0620e4 | |
parent | 0b725a2ca61bedc33a2a63d0451d528b268cf975 (diff) | |
download | linux-9c938cddc01d7e8a96e702183c822bf3e4452365.tar.xz |
ixgbe: support skb->xmit_more in netdev_ops->ndo_start_xmit()
This implements the deferred tail pointer flush API for the ixgbe
driver. Similar version also proposed longer time ago by Alexander Duyck.
Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c index 87bd53fdd209..ba9ceaa824f8 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c @@ -6958,9 +6958,10 @@ static void ixgbe_tx_map(struct ixgbe_ring *tx_ring, tx_ring->next_to_use = i; - /* notify HW of packet */ - ixgbe_write_tail(tx_ring, i); - + if (!skb->xmit_more) { + /* notify HW of packet */ + ixgbe_write_tail(tx_ring, i); + } return; dma_error: dev_err(tx_ring->dev, "TX DMA map failed\n"); |