OSDN Git Service

ice: Do not bail out when filter already exists
authorPreethi Banala <preethi.banala@intel.com>
Tue, 19 Feb 2019 23:04:04 +0000 (15:04 -0800)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Tue, 26 Mar 2019 21:51:59 +0000 (14:51 -0700)
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.banala@intel.com>
Signed-off-by: Anirudh Venkataramanan <anirudh.venkataramanan@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/ice/ice_main.c

index 54b1db4..514aa31 100644 (file)
@@ -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