aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJakub Kicinski <kubakici@wp.pl>2014-03-15 10:55:16 -0400
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>2014-03-31 18:48:00 -0400
commitff29a86ec9143ff1aa1901ae60f06f4980981df4 (patch)
tree44430364d98e5f6f01f92802c411833d83db6a0f
parent181e7d5d7bd7747e882e3ca89ecbf0fc3e72d0da (diff)
ixgbe: never generate both software and hardware timestamps
skb_tx_timestamp() does not report software time stamp if SKBTX_IN_PROGRESS is set. According to timestamping.txt software time stamps are a fallback and should not be generated if hardware time stamp is provided. Move call to skb_tx_timestamp() after setting SKBTX_IN_PROGRESS. Signed-off-by: Jakub Kicinski <kubakici@wp.pl> Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
-rw-r--r--drivers/net/ethernet/intel/ixgbe/ixgbe_main.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
index 9e5a36612432..24538cb0f856 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
@@ -7042,8 +7042,6 @@ netdev_tx_t ixgbe_xmit_frame_ring(struct sk_buff *skb,
7042 tx_flags |= IXGBE_TX_FLAGS_SW_VLAN; 7042 tx_flags |= IXGBE_TX_FLAGS_SW_VLAN;
7043 } 7043 }
7044 7044
7045 skb_tx_timestamp(skb);
7046
7047 if (unlikely(skb_shinfo(skb)->tx_flags & SKBTX_HW_TSTAMP)) { 7045 if (unlikely(skb_shinfo(skb)->tx_flags & SKBTX_HW_TSTAMP)) {
7048 skb_shinfo(skb)->tx_flags |= SKBTX_IN_PROGRESS; 7046 skb_shinfo(skb)->tx_flags |= SKBTX_IN_PROGRESS;
7049 tx_flags |= IXGBE_TX_FLAGS_TSTAMP; 7047 tx_flags |= IXGBE_TX_FLAGS_TSTAMP;
@@ -7054,6 +7052,8 @@ netdev_tx_t ixgbe_xmit_frame_ring(struct sk_buff *skb,
7054 schedule_work(&adapter->ptp_tx_work); 7052 schedule_work(&adapter->ptp_tx_work);
7055 } 7053 }
7056 7054
7055 skb_tx_timestamp(skb);
7056
7057#ifdef CONFIG_PCI_IOV 7057#ifdef CONFIG_PCI_IOV
7058 /* 7058 /*
7059 * Use the l2switch_enable flag - would be false if the DMA 7059 * Use the l2switch_enable flag - would be false if the DMA