+++ /dev/null
-From 2b787cc9f3c69b1ed63cfc01181f77208f18da48 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Fri, 12 Aug 2022 15:25:49 +0200
-Subject: ice: Fix clearing of promisc mode with bridge over bond
-
-From: Grzegorz Siwik <grzegorz.siwik@intel.com>
-
-[ Upstream commit abddafd4585cc825d454da3cf308ad1226f6c554 ]
-
-When at least two interfaces are bonded and a bridge is enabled on the
-bond, an error can occur when the bridge is removed and re-added. The
-reason for the error is because promiscuous mode was not fully cleared from
-the VLAN VSI in the hardware. With this change, promiscuous mode is
-properly removed when the bridge disconnects from bonding.
-
-[ 1033.676359] bond1: link status definitely down for interface enp95s0f0, disabling it
-[ 1033.676366] bond1: making interface enp175s0f0 the new active one
-[ 1033.676369] device enp95s0f0 left promiscuous mode
-[ 1033.676522] device enp175s0f0 entered promiscuous mode
-[ 1033.676901] ice 0000:af:00.0 enp175s0f0: Error setting Multicast promiscuous mode on VSI 6
-[ 1041.795662] ice 0000:af:00.0 enp175s0f0: Error setting Multicast promiscuous mode on VSI 6
-[ 1041.944826] bond1: link status definitely down for interface enp175s0f0, disabling it
-[ 1041.944874] device enp175s0f0 left promiscuous mode
-[ 1041.944918] bond1: now running without any active interface!
-
-Fixes: c31af68a1b94 ("ice: Add outer_vlan_ops and VSI specific VLAN ops implementations")
-Co-developed-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
-Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
-Signed-off-by: Grzegorz Siwik <grzegorz.siwik@intel.com>
-Link: https://lore.kernel.org/all/CAK8fFZ7m-KR57M_rYX6xZN39K89O=LGooYkKsu6HKt0Bs+x6xQ@mail.gmail.com/
-Tested-by: Jaroslav Pulchart <jaroslav.pulchart@gooddata.com>
-Tested-by: Igor Raits <igor@gooddata.com>
-Tested-by: Gurucharan <gurucharanx.g@intel.com> (A Contingent worker at Intel)
-Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/net/ethernet/intel/ice/ice_lib.c | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/net/ethernet/intel/ice/ice_lib.c b/drivers/net/ethernet/intel/ice/ice_lib.c
-index f5f744345fe7..da1a9cc47bd9 100644
---- a/drivers/net/ethernet/intel/ice/ice_lib.c
-+++ b/drivers/net/ethernet/intel/ice/ice_lib.c
-@@ -4082,7 +4082,11 @@ int ice_vsi_del_vlan_zero(struct ice_vsi *vsi)
- if (err && err != -EEXIST)
- return err;
-
-- return 0;
-+ /* when deleting the last VLAN filter, make sure to disable the VLAN
-+ * promisc mode so the filter isn't left by accident
-+ */
-+ return ice_clear_vsi_promisc(&vsi->back->hw, vsi->idx,
-+ ICE_MCAST_VLAN_PROMISC_BITS, 0);
- }
-
- /**
---
-2.35.1
-