lkml.org 
[lkml]   [2016]   [Mar]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.13.y-ckt 129/138] net/mlx4_en: Count HW buffer overrun only once
    Date
    3.13.11-ckt36 -stable review patch.  If anyone has any objections, please let me know.

    ---8<------------------------------------------------------------

    From: Amir Vadai <amir@vadai.me>

    commit 281e8b2fdf8e4ef366b899453cae50e09b577ada upstream.

    RdropOvflw counts overrun of HW buffer, therefore should
    be used for rx_fifo_errors only.

    Currently RdropOvflw counter is mistakenly also set into
    rx_missed_errors and rx_over_errors too, which makes the
    device total dropped packets accounting to show wrong results.

    Fix that. Use it for rx_fifo_errors only.

    Fixes: c27a02cd94d6 ('mlx4_en: Add driver for Mellanox ConnectX 10GbE NIC')
    Signed-off-by: Amir Vadai <amir@vadai.me>
    Signed-off-by: Eugenia Emantayev <eugenia@mellanox.com>
    Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
    Signed-off-by: Kamal Mostafa <kamal@canonical.com>
    ---
    drivers/net/ethernet/mellanox/mlx4/en_port.c | 4 ++--
    1 file changed, 2 insertions(+), 2 deletions(-)

    diff --git a/drivers/net/ethernet/mellanox/mlx4/en_port.c b/drivers/net/ethernet/mellanox/mlx4/en_port.c
    index dae1a1f..136eb5b 100644
    --- a/drivers/net/ethernet/mellanox/mlx4/en_port.c
    +++ b/drivers/net/ethernet/mellanox/mlx4/en_port.c
    @@ -171,11 +171,11 @@ int mlx4_en_DUMP_ETH_STATS(struct mlx4_en_dev *mdev, u8 port, u8 reset)
    be64_to_cpu(mlx4_en_stats->MCAST_novlan);
    stats->collisions = 0;
    stats->rx_length_errors = be32_to_cpu(mlx4_en_stats->RdropLength);
    - stats->rx_over_errors = be32_to_cpu(mlx4_en_stats->RdropOvflw);
    + stats->rx_over_errors = 0;
    stats->rx_crc_errors = be32_to_cpu(mlx4_en_stats->RCRC);
    stats->rx_frame_errors = 0;
    stats->rx_fifo_errors = be32_to_cpu(mlx4_en_stats->RdropOvflw);
    - stats->rx_missed_errors = be32_to_cpu(mlx4_en_stats->RdropOvflw);
    + stats->rx_missed_errors = 0;
    stats->tx_aborted_errors = 0;
    stats->tx_carrier_errors = 0;
    stats->tx_fifo_errors = 0;
    --
    2.7.0
    \
     
     \ /
      Last update: 2016-03-10 01:01    [W:4.313 / U:0.224 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site