struct rtnl_link_stats64 *vsi_stats = i40e_get_vsi_stats_struct(vsi);
        int i;
 
-       if (test_bit(__I40E_DOWN, &vsi->state))
+       if (test_bit(__I40E_VSI_DOWN, &vsi->state))
                return;
 
        if (!vsi->tx_rings)
        u64 tx_p, tx_b;
        u16 q;
 
-       if (test_bit(__I40E_DOWN, &vsi->state) ||
+       if (test_bit(__I40E_VSI_DOWN, &vsi->state) ||
            test_bit(__I40E_CONFIG_BUSY, &pf->state))
                return;
 
                 * to failed, so we don't bother to try sending the filter
                 * to the hardware.
                 */
-               if (test_bit(__I40E_FILTER_OVERFLOW_PROMISC, &vsi->state))
+               if (test_bit(__I40E_VSI_OVERFLOW_PROMISC, &vsi->state))
                        f->state = I40E_FILTER_FAILED;
                else
                        f->state = I40E_FILTER_NEW;
                return 0;
        }
 
-       if (test_bit(__I40E_DOWN, &vsi->back->state) ||
+       if (test_bit(__I40E_VSI_DOWN, &vsi->back->state) ||
            test_bit(__I40E_RESET_RECOVERY_PENDING, &vsi->back->state))
                return -EADDRNOTAVAIL;
 
 
        if (fcnt != num_add) {
                *promisc_changed = true;
-               set_bit(__I40E_FILTER_OVERFLOW_PROMISC, &vsi->state);
+               set_bit(__I40E_VSI_OVERFLOW_PROMISC, &vsi->state);
                dev_warn(&vsi->back->pdev->dev,
                         "Error %s adding RX filters on %s, promiscuous mode forced on\n",
                         i40e_aq_str(hw, aq_err),
        struct i40e_aqc_add_macvlan_element_data *add_list;
        struct i40e_aqc_remove_macvlan_element_data *del_list;
 
-       while (test_and_set_bit(__I40E_CONFIG_BUSY, &vsi->state))
+       while (test_and_set_bit(__I40E_VSI_SYNCING_FILTERS, &vsi->state))
                usleep_range(1000, 2000);
        pf = vsi->back;
 
 
                num_add = 0;
                hlist_for_each_entry_safe(new, h, &tmp_add_list, hlist) {
-                       if (test_bit(__I40E_FILTER_OVERFLOW_PROMISC,
+                       if (test_bit(__I40E_VSI_OVERFLOW_PROMISC,
                                     &vsi->state)) {
                                new->state = I40E_FILTER_FAILED;
                                continue;
         * safely exit if we didn't just enter, we no longer have any failed
         * filters, and we have reduced filters below the threshold value.
         */
-       if (test_bit(__I40E_FILTER_OVERFLOW_PROMISC, &vsi->state) &&
+       if (test_bit(__I40E_VSI_OVERFLOW_PROMISC, &vsi->state) &&
            !promisc_changed && !failed_filters &&
            (vsi->active_filters < vsi->promisc_threshold)) {
                dev_info(&pf->pdev->dev,
                         "filter logjam cleared on %s, leaving overflow promiscuous mode\n",
                         vsi_name);
-               clear_bit(__I40E_FILTER_OVERFLOW_PROMISC, &vsi->state);
+               clear_bit(__I40E_VSI_OVERFLOW_PROMISC, &vsi->state);
                promisc_changed = true;
                vsi->promisc_threshold = 0;
        }
 
        /* if the VF is not trusted do not do promisc */
        if ((vsi->type == I40E_VSI_SRIOV) && !pf->vf[vsi->vf_id].trusted) {
-               clear_bit(__I40E_FILTER_OVERFLOW_PROMISC, &vsi->state);
+               clear_bit(__I40E_VSI_OVERFLOW_PROMISC, &vsi->state);
                goto out;
        }
 
        }
        if ((changed_flags & IFF_PROMISC) ||
            (promisc_changed &&
-            test_bit(__I40E_FILTER_OVERFLOW_PROMISC, &vsi->state))) {
+            test_bit(__I40E_VSI_OVERFLOW_PROMISC, &vsi->state))) {
                bool cur_promisc;
 
                cur_promisc = (!!(vsi->current_netdev_flags & IFF_PROMISC) ||
-                              test_bit(__I40E_FILTER_OVERFLOW_PROMISC,
+                              test_bit(__I40E_VSI_OVERFLOW_PROMISC,
                                        &vsi->state));
                if ((vsi->type == I40E_VSI_MAIN) &&
                    (pf->lan_veb != I40E_NO_VEB) &&
        if (retval)
                vsi->flags |= I40E_VSI_FLAG_FILTER_CHANGED;
 
-       clear_bit(__I40E_CONFIG_BUSY, &vsi->state);
+       clear_bit(__I40E_VSI_SYNCING_FILTERS, &vsi->state);
        return retval;
 
 err_no_memory:
        spin_unlock_bh(&vsi->mac_filter_hash_lock);
 
        vsi->flags |= I40E_VSI_FLAG_FILTER_CHANGED;
-       clear_bit(__I40E_CONFIG_BUSY, &vsi->state);
+       clear_bit(__I40E_VSI_SYNCING_FILTERS, &vsi->state);
        return -ENOMEM;
 }
 
        int i;
 
        /* if interface is down do nothing */
-       if (test_bit(__I40E_DOWN, &vsi->state))
+       if (test_bit(__I40E_VSI_DOWN, &vsi->state))
                return;
 
        if (pf->flags & I40E_FLAG_MSIX_ENABLED) {
 static void i40e_vsi_close(struct i40e_vsi *vsi)
 {
        struct i40e_pf *pf = vsi->back;
-       if (!test_and_set_bit(__I40E_DOWN, &vsi->state))
+       if (!test_and_set_bit(__I40E_VSI_DOWN, &vsi->state))
                i40e_down(vsi);
        i40e_vsi_free_irq(vsi);
        i40e_vsi_free_tx_resources(vsi);
  **/
 static void i40e_quiesce_vsi(struct i40e_vsi *vsi)
 {
-       if (test_bit(__I40E_DOWN, &vsi->state))
+       if (test_bit(__I40E_VSI_DOWN, &vsi->state))
                return;
 
-       set_bit(__I40E_NEEDS_RESTART, &vsi->state);
+       set_bit(__I40E_VSI_NEEDS_RESTART, &vsi->state);
        if (vsi->netdev && netif_running(vsi->netdev))
                vsi->netdev->netdev_ops->ndo_stop(vsi->netdev);
        else
  **/
 static void i40e_unquiesce_vsi(struct i40e_vsi *vsi)
 {
-       if (!test_bit(__I40E_NEEDS_RESTART, &vsi->state))
+       if (!test_and_clear_bit(__I40E_VSI_NEEDS_RESTART, &vsi->state))
                return;
 
-       clear_bit(__I40E_NEEDS_RESTART, &vsi->state);
        if (vsi->netdev && netif_running(vsi->netdev))
                vsi->netdev->netdev_ops->ndo_open(vsi->netdev);
        else
                return;
 
        /* Make sure, VSI state is not DOWN/RECOVERY_PENDING */
-       if (test_bit(__I40E_DOWN, &vsi->back->state) ||
+       if (test_bit(__I40E_VSI_DOWN, &vsi->back->state) ||
            test_bit(__I40E_RESET_RECOVERY_PENDING, &vsi->back->state))
                return;
 
        if (err)
                return err;
 
-       clear_bit(__I40E_DOWN, &vsi->state);
+       clear_bit(__I40E_VSI_DOWN, &vsi->state);
        i40e_napi_enable_all(vsi);
        i40e_vsi_enable_irq(vsi);
 
        int i;
 
        /* It is assumed that the caller of this function
-        * sets the vsi->state __I40E_DOWN bit.
+        * sets the vsi->state __I40E_VSI_DOWN bit.
         */
        if (vsi->netdev) {
                netif_carrier_off(vsi->netdev);
                        struct i40e_vsi *vsi = pf->vsi[v];
 
                        if (vsi != NULL &&
-                           test_bit(__I40E_REINIT_REQUESTED, &vsi->state)) {
+                           test_and_clear_bit(__I40E_VSI_REINIT_REQUESTED,
+                                              &vsi->state))
                                i40e_vsi_reinit_locked(pf->vsi[v]);
-                               clear_bit(__I40E_REINIT_REQUESTED, &vsi->state);
-                       }
                }
        } else if (reset_flags & BIT_ULL(__I40E_DOWN_REQUESTED)) {
                int v;
                        struct i40e_vsi *vsi = pf->vsi[v];
 
                        if (vsi != NULL &&
-                           test_bit(__I40E_DOWN_REQUESTED, &vsi->state)) {
-                               set_bit(__I40E_DOWN, &vsi->state);
+                           test_and_clear_bit(__I40E_VSI_DOWN_REQUESTED,
+                                              &vsi->state)) {
+                               set_bit(__I40E_VSI_DOWN, &vsi->state);
                                i40e_down(vsi);
-                               clear_bit(__I40E_DOWN_REQUESTED, &vsi->state);
                        }
                }
        } else {
  **/
 static void i40e_vsi_link_event(struct i40e_vsi *vsi, bool link_up)
 {
-       if (!vsi || test_bit(__I40E_DOWN, &vsi->state))
+       if (!vsi || test_bit(__I40E_VSI_DOWN, &vsi->state))
                return;
 
        switch (vsi->type) {
 
        if (new_link == old_link &&
            new_link_speed == old_link_speed &&
-           (test_bit(__I40E_DOWN, &vsi->state) ||
+           (test_bit(__I40E_VSI_DOWN, &vsi->state) ||
             new_link == netif_carrier_ok(vsi->netdev)))
                return;
 
-       if (!test_bit(__I40E_DOWN, &vsi->state))
+       if (!test_bit(__I40E_VSI_DOWN, &vsi->state))
                i40e_print_link_message(vsi, new_link);
 
        /* Notify the base of the switch tree connected to
        }
        vsi->type = type;
        vsi->back = pf;
-       set_bit(__I40E_DOWN, &vsi->state);
+       set_bit(__I40E_VSI_DOWN, &vsi->state);
        vsi->flags = 0;
        vsi->idx = vsi_idx;
        vsi->int_rate_limit = 0;
        }
 
        vsi->active_filters = 0;
-       clear_bit(__I40E_FILTER_OVERFLOW_PROMISC, &vsi->state);
+       clear_bit(__I40E_VSI_OVERFLOW_PROMISC, &vsi->state);
        spin_lock_bh(&vsi->mac_filter_hash_lock);
        /* If macvlan filters already exist, force them to get loaded */
        hash_for_each_safe(vsi->mac_filter_hash, bkt, h, f, hlist) {