vsi->id = ctxt.vsi_number;
        }
 
-       vsi->active_filters = 0;
-       clear_bit(__I40E_VSI_OVERFLOW_PROMISC, vsi->state);
        spin_lock_bh(&vsi->mac_filter_hash_lock);
+       vsi->active_filters = 0;
        /* If macvlan filters already exist, force them to get loaded */
        hash_for_each_safe(vsi->mac_filter_hash, bkt, h, f, hlist) {
                f->state = I40E_FILTER_NEW;
                f_count++;
        }
        spin_unlock_bh(&vsi->mac_filter_hash_lock);
+       clear_bit(__I40E_VSI_OVERFLOW_PROMISC, vsi->state);
 
        if (f_count) {
                vsi->flags |= I40E_VSI_FLAG_FILTER_CHANGED;