[Intel-wired-lan] [PATCH v4 06/15] igb: avoid permanent lock of *_PTP_TX_IN_PROGRESS

Brown, Aaron F aaron.f.brown at intel.com
Wed May 10 00:57:09 UTC 2017


> From: Intel-wired-lan [mailto:intel-wired-lan-bounces at lists.osuosl.org] On
> Behalf Of Jacob Keller
> Sent: Wednesday, May 3, 2017 10:29 AM
> To: Intel Wired LAN <intel-wired-lan at lists.osuosl.org>
> Cc: Richard Cochran <richardcochran at gmail.com>
> Subject: [Intel-wired-lan] [PATCH v4 06/15] igb: avoid permanent lock of
> *_PTP_TX_IN_PROGRESS
> 
> The igb driver uses a state bit lock to avoid handling more than one Tx
> timestamp request at once. This is required because hardware is limited
> to a single set of registers for Tx timestamps.
> 
> The state bit lock is not properly cleaned up during
> igb_xmit_frame_ring() if the transmit fails such as due to DMA or TSO
> failure. In some hardware this results in blocking timestamps until the
> service task times out. In other hardware this results in a permanent
> lock of the timestamp bit because we never receive an interrupt
> indicating the timestamp occurred, since indeed the packet was never
> transmitted.
> 
> Fix this by checking for DMA and TSO errors in igb_xmit_frame_ring() and
> properly cleaning up after ourselves when these occur.
> 
> Reported-by: Reported-by: David Mirabito <davidm at metamako.com>
> Signed-off-by: Jacob Keller <jacob.e.keller at intel.com>
> ---
>  drivers/net/ethernet/intel/igb/igb_main.c | 23 ++++++++++++++++++-----
>  1 file changed, 18 insertions(+), 5 deletions(-)
> 

Tested-by: Aaron Brown <aaron.f.brown at intel.com> 



More information about the Intel-wired-lan mailing list