Patch "net/mlx5e: IPoIB, Fix child PKEY interface stats on rx path" has been added to the 6.1-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    net/mlx5e: IPoIB, Fix child PKEY interface stats on rx path

to the 6.1-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     net-mlx5e-ipoib-fix-child-pkey-interface-stats-on-rx.patch
and it can be found in the queue-6.1 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 0699ee36c1f630d0a65f367338d5f767a7c80d5d
Author: Dragos Tatulea <dtatulea@xxxxxxxxxx>
Date:   Wed Nov 23 16:59:13 2022 +0200

    net/mlx5e: IPoIB, Fix child PKEY interface stats on rx path
    
    [ Upstream commit b5e23931c45a2f99f60a2f2b98a9e4d5a62a5b13 ]
    
    The current code always does the accounting using the
    stats from the parent interface (linked in the rq). This
    doesn't work when there are child interfaces configured.
    
    Fix this behavior by always using the stats from the child
    interface priv. This will also work for parent only
    interfaces: the child (netdev) and parent netdev (rq->netdev)
    will point to the same thing.
    
    Fixes: be98737a4faa ("net/mlx5e: Use dynamic per-channel allocations in stats")
    Signed-off-by: Dragos Tatulea <dtatulea@xxxxxxxxxx>
    Reviewed-by: Tariq Toukan <tariqt@xxxxxxxxxx>
    Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_rx.c b/drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
index a61a43fc8d5c..56d1bd22c7c6 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
@@ -2300,7 +2300,7 @@ static inline void mlx5i_complete_rx_cqe(struct mlx5e_rq *rq,
 
 	priv = mlx5i_epriv(netdev);
 	tstamp = &priv->tstamp;
-	stats = rq->stats;
+	stats = &priv->channel_stats[rq->ix]->rq;
 
 	flags_rqpn = be32_to_cpu(cqe->flags_rqpn);
 	g = (flags_rqpn >> 28) & 3;



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux