net/mlx5: Avoid report two health errors on same syndrome
authorMoshe Shemesh <moshe@nvidia.com>
Wed, 26 Feb 2025 12:25:40 +0000 (14:25 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 28 Feb 2025 08:56:49 +0000 (08:56 +0000)
In case health counter has not increased for few polling intervals, miss
counter will reach max misses threshold and health report will be
triggered for FW health reporter. In case syndrome found on same health
poll another health report will be triggered.

Avoid two health reports on same syndrome by marking this syndrome as
already known.

Signed-off-by: Moshe Shemesh <moshe@nvidia.com>
Reviewed-by: Shahar Shitrit <shshitrit@nvidia.com>
Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlx5/core/health.c

index a6329ca2d9bffbda0b5a69b4973f061144a9fa67..52c8035547be5caa336283af93703342dd236bad 100644 (file)
@@ -799,6 +799,7 @@ static void poll_health(struct timer_list *t)
        health->prev = count;
        if (health->miss_counter == MAX_MISSES) {
                mlx5_core_err(dev, "device's health compromised - reached miss count\n");
+               health->synd = ioread8(&h->synd);
                print_health_info(dev);
                queue_work(health->wq, &health->report_work);
        }