]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
net/mlx5e: Do not recover from a non-fatal syndrome
authorAya Levin <ayal@mellanox.com>
Thu, 19 Mar 2020 11:25:17 +0000 (13:25 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 1 Apr 2020 08:59:55 +0000 (10:59 +0200)
[ Upstream commit 187a9830c921d92c4a9a8e2921ecc4b35a97532c ]

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: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/ethernet/mellanox/mlx5/core/en/health.h

index d3693fa547ac0cbd814efe753c6d734fe6ccd713..e54f70d9af22771d0221657f3b8380202878b1e7 100644 (file)
@@ -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;
 }