From: Daniel Borkmann Date: Sun, 24 Aug 2014 13:42:16 +0000 (+0200) Subject: ixgbe: support skb->xmit_more in netdev_ops->ndo_start_xmit() X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=9c938cddc01d7e8a96e702183c822bf3e4452365;p=openwrt%2Fstaging%2Fblogic.git 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 Signed-off-by: David S. Miller --- 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");