|
@@ -514,13 +514,18 @@ extern void igb_ptp_rx_rgtstamp(struct igb_q_vector *q_vector,
|
|
|
extern void igb_ptp_rx_pktstamp(struct igb_q_vector *q_vector,
|
|
|
unsigned char *va,
|
|
|
struct sk_buff *skb);
|
|
|
-static inline void igb_ptp_rx_hwtstamp(struct igb_q_vector *q_vector,
|
|
|
+static inline void igb_ptp_rx_hwtstamp(struct igb_ring *rx_ring,
|
|
|
union e1000_adv_rx_desc *rx_desc,
|
|
|
struct sk_buff *skb)
|
|
|
{
|
|
|
if (igb_test_staterr(rx_desc, E1000_RXDADV_STAT_TS) &&
|
|
|
!igb_test_staterr(rx_desc, E1000_RXDADV_STAT_TSIP))
|
|
|
- igb_ptp_rx_rgtstamp(q_vector, skb);
|
|
|
+ igb_ptp_rx_rgtstamp(rx_ring->q_vector, skb);
|
|
|
+
|
|
|
+ /* Update the last_rx_timestamp timer in order to enable watchdog check
|
|
|
+ * for error case of latched timestamp on a dropped packet.
|
|
|
+ */
|
|
|
+ rx_ring->last_rx_timestamp = jiffies;
|
|
|
}
|
|
|
|
|
|
extern int igb_ptp_hwtstamp_ioctl(struct net_device *netdev,
|