]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
net/mlx5e: Don't gate FEC histograms on ppcnt_statistical_group
authorAlexei Lazar <alazar@nvidia.com>
Thu, 25 Dec 2025 13:27:14 +0000 (15:27 +0200)
committerJakub Kicinski <kuba@kernel.org>
Sun, 4 Jan 2026 18:38:50 +0000 (10:38 -0800)
Currently, the ppcnt_statistical_group capability check
incorrectly gates access to FEC histogram statistics.
This capability applies only to statistical and physical
counter groups, not for histogram data.

Restrict the ppcnt_statistical_group check to the
Physical_Layer_Counters and Physical_Layer_Statistical_Counters
groups.
Histogram statistics access remains gated by the pphcr
capability.

The issue is harmless as of today, as it happens that
ppcnt_statistical_group is set on all existing devices that
have pphcr set.

Fixes: 6b81b8a0b197 ("net/mlx5e: Don't query FEC statistics when FEC is disabled")
Signed-off-by: Alexei Lazar <alazar@nvidia.com>
Reviewed-by: Tariq Toukan <tariqt@nvidia.com>
Signed-off-by: Mark Bloch <mbloch@nvidia.com>
Link: https://patch.msgid.link/20251225132717.358820-3-mbloch@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/mellanox/mlx5/core/en_stats.c

index a2802cfc9b9894ab0fc90a05bf16a21a7c9eb895..a8af84fc9763835e30cdcdd55721f10e7b4721ff 100644 (file)
@@ -1608,12 +1608,13 @@ void mlx5e_stats_fec_get(struct mlx5e_priv *priv,
 {
        int mode = fec_active_mode(priv->mdev);
 
-       if (mode == MLX5E_FEC_NOFEC ||
-           !MLX5_CAP_PCAM_FEATURE(priv->mdev, ppcnt_statistical_group))
+       if (mode == MLX5E_FEC_NOFEC)
                return;
 
-       fec_set_corrected_bits_total(priv, fec_stats);
-       fec_set_block_stats(priv, mode, fec_stats);
+       if (MLX5_CAP_PCAM_FEATURE(priv->mdev, ppcnt_statistical_group)) {
+               fec_set_corrected_bits_total(priv, fec_stats);
+               fec_set_block_stats(priv, mode, fec_stats);
+       }
 
        if (MLX5_CAP_PCAM_REG(priv->mdev, pphcr))
                fec_set_histograms_stats(priv, mode, hist);