lkml.org 
[lkml]   [2018]   [May]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.16 232/272] ixgbe: prevent ptp_rx_hang from running when in FILTER_ALL mode
    Date
    4.16-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Jacob Keller <jacob.e.keller@intel.com>

    [ Upstream commit 6704a3abf4cf4181a1ee64f5db4969347b88ca1d ]

    On hardware which supports timestamping all packets, the timestamps are
    recorded in the packet buffer, and the driver no longer uses or reads
    the registers. This makes the logic for checking and clearing Rx
    timestamp hangs meaningless.

    If we run the ixgbe_ptp_rx_hang() function in this case, then the driver
    will continuously spam the log output with "Clearing Rx timestamp hang".
    These messages are spurious, and confusing to end users.

    The original code in commit a9763f3cb54c ("ixgbe: Update PTP to support
    X550EM_x devices", 2015-12-03) did have a flag PTP_RX_TIMESTAMP_IN_REGISTER
    which was intended to be used to avoid the Rx timestamp hang check,
    however it did not actually check the flag before calling the function.

    Do so now in order to stop the checks and prevent the spurious log
    messages.

    Fixes: a9763f3cb54c ("ixgbe: Update PTP to support X550EM_x devices", 2015-12-03)
    Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
    Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 3 ++-
    1 file changed, 2 insertions(+), 1 deletion(-)

    --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
    +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
    @@ -7711,7 +7711,8 @@ static void ixgbe_service_task(struct wo

    if (test_bit(__IXGBE_PTP_RUNNING, &adapter->state)) {
    ixgbe_ptp_overflow_check(adapter);
    - ixgbe_ptp_rx_hang(adapter);
    + if (adapter->flags & IXGBE_FLAG_RX_HWTSTAMP_IN_REGISTER)
    + ixgbe_ptp_rx_hang(adapter);
    ixgbe_ptp_tx_hang(adapter);
    }


    \
     
     \ /
      Last update: 2018-05-28 13:29    [W:4.637 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site