]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
ice: remove correct filters during eswitch release
authorMichal Swiatkowski <michal.swiatkowski@linux.intel.com>
Tue, 23 Apr 2024 14:36:32 +0000 (16:36 +0200)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Wed, 8 May 2024 16:24:43 +0000 (09:24 -0700)
ice_clear_dflt_vsi() is only removing default rule. Both default RX and
TX rule should be removed during release.

If it isn't switching to switchdev, second time results in error, because
TX filter is already there.

Fix it by removing the correct set of rules.

Fixes: 50d62022f455 ("ice: default Tx rule instead of to queue")
Reviewed-by: Wojciech Drewek <wojciech.drewek@intel.com>
Signed-off-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
Signed-off-by: Marcin Szycik <marcin.szycik@linux.intel.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Tested-by: Sujai Buvaneswaran <sujai.buvaneswaran@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/ice/ice_eswitch.c

index c902848cf88ed7607d36c3a860d9fd11e894451a..b102db8b829a9474bbb224c897cbf34b1d27f402 100644 (file)
@@ -246,7 +246,10 @@ static void ice_eswitch_release_env(struct ice_pf *pf)
        ice_vsi_update_local_lb(uplink_vsi, false);
        ice_vsi_update_security(uplink_vsi, ice_vsi_ctx_clear_allow_override);
        vlan_ops->ena_rx_filtering(uplink_vsi);
-       ice_clear_dflt_vsi(uplink_vsi);
+       ice_cfg_dflt_vsi(uplink_vsi->port_info, uplink_vsi->idx, false,
+                        ICE_FLTR_TX);
+       ice_cfg_dflt_vsi(uplink_vsi->port_info, uplink_vsi->idx, false,
+                        ICE_FLTR_RX);
        ice_fltr_add_mac_and_broadcast(uplink_vsi,
                                       uplink_vsi->port_info->mac.perm_addr,
                                       ICE_FWD_TO_VSI);