e1000e: add timeout for TX HW time stamping work
Hardware may fail to report time stamp e.g.: - when hardware time stamping is not enabled - when time stamp is requested shortly after ifup Timeout time stamp reading work to prevent it from scheduling itself indefinitely. Report timeout events via system log and device stats. Signed-off-by: Jakub Kicinski <kubakici@wp.pl> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
此提交包含在:
@@ -262,6 +262,7 @@ struct e1000_adapter {
|
||||
u32 tx_head_addr;
|
||||
u32 tx_fifo_size;
|
||||
u32 tx_dma_failed;
|
||||
u32 tx_hwtstamp_timeouts;
|
||||
|
||||
/* Rx */
|
||||
bool (*clean_rx) (struct e1000_ring *ring, int *work_done,
|
||||
@@ -334,6 +335,7 @@ struct e1000_adapter {
|
||||
struct hwtstamp_config hwtstamp_config;
|
||||
struct delayed_work systim_overflow_work;
|
||||
struct sk_buff *tx_hwtstamp_skb;
|
||||
unsigned long tx_hwtstamp_start;
|
||||
struct work_struct tx_hwtstamp_work;
|
||||
spinlock_t systim_lock; /* protects SYSTIML/H regsters */
|
||||
struct cyclecounter cc;
|
||||
|
新增問題並參考
封鎖使用者