]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 4 Jun 2025 12:37:02 +0000 (14:37 +0200)
[ Upstream commit b5d7b2f04ebcff740f44ef4d295b3401aeb029f4 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/mellanox/mlx5/core/health.c

index f42e118f32901d5753dba9a9a6d2a2685936e540..d48912d7afe54235aa0ce4f2520ed83ea33d513f 100644 (file)
@@ -733,6 +733,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);
        }