diff options
author | Michal Swiatkowski <michal.swiatkowski@linux.intel.com> | 2022-12-21 14:38:19 +0300 |
---|---|---|
committer | Tony Nguyen <anthony.l.nguyen@intel.com> | 2023-02-03 20:54:18 +0300 |
commit | 70fbc15a655cc9df29189a8145885c59a720865d (patch) | |
tree | 22ca0bd62ac11b06970db08bc009d1a37878d4b6 /drivers/net/ethernet/intel/ice/ice_fltr.c | |
parent | 5b246e533d0177775c64b40a2af1e62aff5d279b (diff) | |
download | linux-70fbc15a655cc9df29189a8145885c59a720865d.tar.xz |
ice: sync netdev filters after clearing VSI
In driver reload path the netdev isn't removed, but VSI is. Remove
filters on netdev right after removing them on VSI.
Signed-off-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
Tested-by: Gurucharan G <gurucharanx.g@intel.com> (A Contingent worker at Intel)
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Diffstat (limited to 'drivers/net/ethernet/intel/ice/ice_fltr.c')
-rw-r--r-- | drivers/net/ethernet/intel/ice/ice_fltr.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/ice/ice_fltr.c b/drivers/net/ethernet/intel/ice/ice_fltr.c index 40e678cfb507..aff7a141c30d 100644 --- a/drivers/net/ethernet/intel/ice/ice_fltr.c +++ b/drivers/net/ethernet/intel/ice/ice_fltr.c @@ -208,6 +208,11 @@ static int ice_fltr_remove_eth_list(struct ice_vsi *vsi, struct list_head *list) void ice_fltr_remove_all(struct ice_vsi *vsi) { ice_remove_vsi_fltr(&vsi->back->hw, vsi->idx); + /* sync netdev filters if exist */ + if (vsi->netdev) { + __dev_uc_unsync(vsi->netdev, NULL); + __dev_mc_unsync(vsi->netdev, NULL); + } } /** |