diff options
Diffstat (limited to 'drivers/net/ethernet/intel/igb/igb_ptp.c')
-rw-r--r-- | drivers/net/ethernet/intel/igb/igb_ptp.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/igb/igb_ptp.c b/drivers/net/ethernet/intel/igb/igb_ptp.c index da55fbb090b2..2cca8fd5e574 100644 --- a/drivers/net/ethernet/intel/igb/igb_ptp.c +++ b/drivers/net/ethernet/intel/igb/igb_ptp.c | |||
@@ -387,6 +387,7 @@ static void igb_ptp_tx_work(struct work_struct *work) | |||
387 | IGB_PTP_TX_TIMEOUT)) { | 387 | IGB_PTP_TX_TIMEOUT)) { |
388 | dev_kfree_skb_any(adapter->ptp_tx_skb); | 388 | dev_kfree_skb_any(adapter->ptp_tx_skb); |
389 | adapter->ptp_tx_skb = NULL; | 389 | adapter->ptp_tx_skb = NULL; |
390 | clear_bit_unlock(__IGB_PTP_TX_IN_PROGRESS, &adapter->state); | ||
390 | adapter->tx_hwtstamp_timeouts++; | 391 | adapter->tx_hwtstamp_timeouts++; |
391 | dev_warn(&adapter->pdev->dev, "clearing Tx timestamp hang"); | 392 | dev_warn(&adapter->pdev->dev, "clearing Tx timestamp hang"); |
392 | return; | 393 | return; |
@@ -480,6 +481,7 @@ static void igb_ptp_tx_hwtstamp(struct igb_adapter *adapter) | |||
480 | skb_tstamp_tx(adapter->ptp_tx_skb, &shhwtstamps); | 481 | skb_tstamp_tx(adapter->ptp_tx_skb, &shhwtstamps); |
481 | dev_kfree_skb_any(adapter->ptp_tx_skb); | 482 | dev_kfree_skb_any(adapter->ptp_tx_skb); |
482 | adapter->ptp_tx_skb = NULL; | 483 | adapter->ptp_tx_skb = NULL; |
484 | clear_bit_unlock(__IGB_PTP_TX_IN_PROGRESS, &adapter->state); | ||
483 | } | 485 | } |
484 | 486 | ||
485 | /** | 487 | /** |
@@ -857,6 +859,7 @@ void igb_ptp_stop(struct igb_adapter *adapter) | |||
857 | if (adapter->ptp_tx_skb) { | 859 | if (adapter->ptp_tx_skb) { |
858 | dev_kfree_skb_any(adapter->ptp_tx_skb); | 860 | dev_kfree_skb_any(adapter->ptp_tx_skb); |
859 | adapter->ptp_tx_skb = NULL; | 861 | adapter->ptp_tx_skb = NULL; |
862 | clear_bit_unlock(__IGB_PTP_TX_IN_PROGRESS, &adapter->state); | ||
860 | } | 863 | } |
861 | 864 | ||
862 | if (adapter->ptp_clock) { | 865 | if (adapter->ptp_clock) { |