net/mlx5e: Fix RX reporter for XSK RQs
authorTariq Toukan <tariqt@nvidia.com>
Sun, 27 Nov 2022 07:21:28 +0000 (09:21 +0200)
committerSaeed Mahameed <saeedm@nvidia.com>
Wed, 28 Dec 2022 19:38:50 +0000 (11:38 -0800)
RX reporter mistakenly reads from the regular (inactive) RQ
when XSK RQ is active. Fix it here.

Fixes: 3db4c85cde7a ("net/mlx5e: xsk: Use queue indices starting from 0 for XSK queues")
Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
Reviewed-by: Gal Pressman <gal@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
drivers/net/ethernet/mellanox/mlx5/core/en/reporter_rx.c

index 5f6f95a..1ae15b8 100644 (file)
@@ -459,7 +459,11 @@ static int mlx5e_rx_reporter_diagnose(struct devlink_health_reporter *reporter,
                goto unlock;
 
        for (i = 0; i < priv->channels.num; i++) {
-               struct mlx5e_rq *rq = &priv->channels.c[i]->rq;
+               struct mlx5e_channel *c = priv->channels.c[i];
+               struct mlx5e_rq *rq;
+
+               rq = test_bit(MLX5E_CHANNEL_STATE_XSK, c->state) ?
+                       &c->xskrq : &c->rq;
 
                err = mlx5e_rx_reporter_build_diagnose_output(rq, fmsg);
                if (err)