Home Home > GIT Browse
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Bogendoerfer <tbogendoerfer@suse.de>2019-11-05 14:08:48 +0100
committerThomas Bogendoerfer <tbogendoerfer@suse.de>2019-11-05 14:09:47 +0100
commit8433dcc1940a8c36ee1363c2079960f3d3923432 (patch)
tree93b186eb235328453381046d618d89242dff573e
parent01d5725573d4f0eba010c95343adc2031f81fe1b (diff)
net/mlx5e: Only skip encap flows update when encap init failed
(jsc#SLE-8464).
-rw-r--r--patches.suse/net-mlx5e-Only-skip-encap-flows-update-when-encap-in.patch34
-rw-r--r--series.conf1
2 files changed, 35 insertions, 0 deletions
diff --git a/patches.suse/net-mlx5e-Only-skip-encap-flows-update-when-encap-in.patch b/patches.suse/net-mlx5e-Only-skip-encap-flows-update-when-encap-in.patch
new file mode 100644
index 0000000000..3bff0bb84d
--- /dev/null
+++ b/patches.suse/net-mlx5e-Only-skip-encap-flows-update-when-encap-in.patch
@@ -0,0 +1,34 @@
+From: Vlad Buslov <vladbu@mellanox.com>
+Date: Tue, 24 Sep 2019 10:19:16 +0300
+Subject: net/mlx5e: Only skip encap flows update when encap init failed
+Patch-mainline: v5.4-rc6
+Git-commit: 64d7b68577130ae00f954a28ea9d6bc51025caf9
+References: jsc#SLE-8464
+
+When encap entry initialization completes successfully e->compl_result is
+set to positive value and not zero, like mlx5e_rep_update_flows() assumes
+at the moment. Fix the conditional to only skip encap flows update when
+e->compl_result < 0.
+
+Fixes: 2a1f1768fa17 ("net/mlx5e: Refactor neigh update for concurrent execution")
+Signed-off-by: Vlad Buslov <vladbu@mellanox.com>
+Reviewed-by: Roi Dayan <roid@mellanox.com>
+Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
+Acked-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
+---
+ drivers/net/ethernet/mellanox/mlx5/core/en_rep.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
++++ b/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
+@@ -611,8 +611,8 @@ static void mlx5e_rep_update_flows(struc
+
+ mutex_lock(&esw->offloads.encap_tbl_lock);
+ encap_connected = !!(e->flags & MLX5_ENCAP_ENTRY_VALID);
+- if (e->compl_result || (encap_connected == neigh_connected &&
+- ether_addr_equal(e->h_dest, ha)))
++ if (e->compl_result < 0 || (encap_connected == neigh_connected &&
++ ether_addr_equal(e->h_dest, ha)))
+ goto unlock;
+
+ mlx5e_take_all_encap_flows(e, &flow_list);
diff --git a/series.conf b/series.conf
index 7b1e290170..5d86a47106 100644
--- a/series.conf
+++ b/series.conf
@@ -2874,6 +2874,7 @@
patches.suse/net-mlx5e-Determine-source-port-properly-for-vlan-pu.patch
patches.suse/net-mlx5e-Remove-incorrect-match-criteria-assignment.patch
patches.suse/net-mlx5e-Replace-kfree-with-kvfree-when-free-vhca-s.patch
+ patches.suse/net-mlx5e-Only-skip-encap-flows-update-when-encap-in.patch
patches.suse/powerpc-powernv-Fix-CPU-idle-to-be-called-with-IRQs-.patch
patches.suse/scsi-qla2xxx-fixup-incorrect-usage-of-host_byte.patch
patches.suse/scsi-lpfc-Check-queue-pointer-before-use.patch