summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/intel/igb/igb_main.c
diff options
context:
space:
mode:
authorMatthew Vick2012-12-13 08:20:34 +0100
committerJeff Kirsher2013-01-18 13:56:11 +0100
commit428f1f715131ea5ae32e29502541ce007f556b5b (patch)
tree5f9ca421ac948de9a6119870d7e2f7a4867b1132 /drivers/net/ethernet/intel/igb/igb_main.c
parentigb: Add support for SW timestamping (diff)
downloadkernel-qcow2-linux-428f1f715131ea5ae32e29502541ce007f556b5b.tar.gz
kernel-qcow2-linux-428f1f715131ea5ae32e29502541ce007f556b5b.tar.xz
kernel-qcow2-linux-428f1f715131ea5ae32e29502541ce007f556b5b.zip
igb: Add timeout for PTP Tx work item
When transmitting a packet that must return a Tx timestamp, a work item gets scheduled to poll for the Tx timestamp being completed in hardware. Add a timeout on this work item of 15 seconds from when the driver gets the skb, after which it will stop polling. Report via stats and system log if this occurs. Cc: Richard Cochran <richardcochran@gmail.com> Signed-off-by: Matthew Vick <matthew.vick@intel.com> Acked-by: Jacob Keller <Jacob.e.keller@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to 'drivers/net/ethernet/intel/igb/igb_main.c')
-rw-r--r--drivers/net/ethernet/intel/igb/igb_main.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
index 9dd3da540cd0..9540a814a225 100644
--- a/drivers/net/ethernet/intel/igb/igb_main.c
+++ b/drivers/net/ethernet/intel/igb/igb_main.c
@@ -4618,6 +4618,7 @@ netdev_tx_t igb_xmit_frame_ring(struct sk_buff *skb,
tx_flags |= IGB_TX_FLAGS_TSTAMP;
adapter->ptp_tx_skb = skb_get(skb);
+ adapter->ptp_tx_start = jiffies;
if (adapter->hw.mac.type == e1000_82576)
schedule_work(&adapter->ptp_tx_work);
}