From: Preethi Banala <preethi.ban...@intel.com>

If filter already exists, do not go through error path flow but instead
continue to process rest of the function. Hence have an appropriate check
after adding MAC filters.

Signed-off-by: Preethi Banala <preethi.ban...@intel.com>
Signed-off-by: Anirudh Venkataramanan <anirudh.venkatarama...@intel.com>
Tested-by: Andrew Bowers <andrewx.bow...@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirs...@intel.com>
---
 drivers/net/ethernet/intel/ice/ice_main.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/intel/ice/ice_main.c 
b/drivers/net/ethernet/intel/ice/ice_main.c
index 54b1db4db7d4..514aa31db8a6 100644
--- a/drivers/net/ethernet/intel/ice/ice_main.c
+++ b/drivers/net/ethernet/intel/ice/ice_main.c
@@ -260,7 +260,11 @@ static int ice_vsi_sync_fltr(struct ice_vsi *vsi)
        /* Add mac addresses in the sync list */
        status = ice_add_mac(hw, &vsi->tmp_sync_list);
        ice_free_fltr_list(dev, &vsi->tmp_sync_list);
-       if (status) {
+       /* If filter is added successfully or already exists, do not go into
+        * 'if' condition and report it as error. Instead continue processing
+        * rest of the function.
+        */
+       if (status && status != ICE_ERR_ALREADY_EXISTS) {
                netdev_err(netdev, "Failed to add MAC filters\n");
                /* If there is no more space for new umac filters, vsi
                 * should go into promiscuous mode. There should be some
-- 
2.20.1

Reply via email to