diff mbox series

[net-next,1/4] net/mlx5: Avoid report two health errors on same syndrome

Message ID 20250226122543.147594-2-tariqt@nvidia.com (mailing list archive)
State New
Headers show
Series mlx5: Trust lockdown health syndrome | expand

Commit Message

Tariq Toukan Feb. 26, 2025, 12:25 p.m. UTC
From: Moshe Shemesh <moshe@nvidia.com>

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>
---
 drivers/net/ethernet/mellanox/mlx5/core/health.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Kalesh Anakkur Purayil Feb. 26, 2025, 12:57 p.m. UTC | #1
On Wed, Feb 26, 2025 at 6:01 PM Tariq Toukan <tariqt@nvidia.com> wrote:
>
> From: Moshe Shemesh <moshe@nvidia.com>
>
> 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>
diff mbox series

Patch

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/health.c b/drivers/net/ethernet/mellanox/mlx5/core/health.c
index a6329ca2d9bf..52c8035547be 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/health.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/health.c
@@ -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);
 	}