Blob Blame History Raw
From fb32c890e6cf38a3f6f2b848154c88049e42f051 Mon Sep 17 00:00:00 2001
From: Alaa Hleihel <ahleihel@redhat.com>
Date: Tue, 12 May 2020 10:54:36 -0400
Subject: [PATCH 166/312] [netdrv] net/mlx5e: Do not recover from a non-fatal
 syndrome

Message-id: <20200512105530.4207-71-ahleihel@redhat.com>
Patchwork-id: 306943
Patchwork-instance: patchwork
O-Subject: [RHEL8.3 BZ 1789382 070/124] net/mlx5e: Do not recover from a non-fatal syndrome
Bugzilla: 1789382
RH-Acked-by: Tony Camuso <tcamuso@redhat.com>
RH-Acked-by: Kamal Heib <kheib@redhat.com>
RH-Acked-by: Jarod Wilson <jarod@redhat.com>

Bugzilla: http://bugzilla.redhat.com/1789382
Upstream: v5.6

commit 187a9830c921d92c4a9a8e2921ecc4b35a97532c
Author: Aya Levin <ayal@mellanox.com>
Date:   Thu Mar 19 13:25:17 2020 +0200

    net/mlx5e: Do not recover from a non-fatal syndrome

    For non-fatal syndromes like LOCAL_LENGTH_ERR, recovery shouldn't be
    triggered. In these scenarios, the RQ is not actually in ERR state.
    This misleads the recovery flow which assumes that the RQ is really in
    error state and no more completions arrive, causing crashes on bad page
    state.

    Fixes: 8276ea1353a4 ("net/mlx5e: Report and recover from CQE with error on RQ")
    Signed-off-by: Aya Levin <ayal@mellanox.com>
    Reviewed-by: Tariq Toukan <tariqt@mellanox.com>
    Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>

Signed-off-by: Alaa Hleihel <ahleihel@redhat.com>
Signed-off-by: Frantisek Hrbata <fhrbata@redhat.com>
---
 drivers/net/ethernet/mellanox/mlx5/core/en/health.h | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/health.h b/drivers/net/ethernet/mellanox/mlx5/core/en/health.h
index d3693fa547ac..e54f70d9af22 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en/health.h
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en/health.h
@@ -10,8 +10,7 @@
 
 static inline bool cqe_syndrome_needs_recover(u8 syndrome)
 {
-	return syndrome == MLX5_CQE_SYNDROME_LOCAL_LENGTH_ERR ||
-	       syndrome == MLX5_CQE_SYNDROME_LOCAL_QP_OP_ERR ||
+	return syndrome == MLX5_CQE_SYNDROME_LOCAL_QP_OP_ERR ||
 	       syndrome == MLX5_CQE_SYNDROME_LOCAL_PROT_ERR ||
 	       syndrome == MLX5_CQE_SYNDROME_WR_FLUSH_ERR;
 }
-- 
2.13.6