u32 add = (msgbuf[0] & IXGBE_VT_MSGINFO_MASK) >> IXGBE_VT_MSGINFO_SHIFT;
        u32 vid = (msgbuf[1] & IXGBE_VLVF_VLANID_MASK);
        u8 tcs = netdev_get_num_tc(adapter->netdev);
-       struct ixgbe_hw *hw = &adapter->hw;
-       int err;
 
        if (adapter->vfinfo[vf].pf_vlan || tcs) {
                e_warn(drv,
        if (!vid && !add)
                return 0;
 
-       err = ixgbe_set_vf_vlan(adapter, add, vid, vf);
-       if (err)
-               return err;
-
-       if (adapter->vfinfo[vf].spoofchk_enabled)
-               hw->mac.ops.set_vlan_anti_spoofing(hw, true, vf);
-
-       if (add)
-               adapter->vfinfo[vf].vlan_count++;
-       else if (adapter->vfinfo[vf].vlan_count)
-               adapter->vfinfo[vf].vlan_count--;
-
-       return 0;
+       return ixgbe_set_vf_vlan(adapter, add, vid, vf);
 }
 
 static int ixgbe_set_vf_macvlan_msg(struct ixgbe_adapter *adapter,
 
        ixgbe_set_vmvir(adapter, vlan, qos, vf);
        ixgbe_set_vmolr(hw, vf, false);
-       if (adapter->vfinfo[vf].spoofchk_enabled)
-               hw->mac.ops.set_vlan_anti_spoofing(hw, true, vf);
-       adapter->vfinfo[vf].vlan_count++;
 
        /* enable hide vlan on X550 */
        if (hw->mac.type >= ixgbe_mac_X550)
        ixgbe_set_vf_vlan(adapter, true, 0, vf);
        ixgbe_clear_vmvir(adapter, vf);
        ixgbe_set_vmolr(hw, vf, true);
-       hw->mac.ops.set_vlan_anti_spoofing(hw, false, vf);
-       if (adapter->vfinfo[vf].vlan_count)
-               adapter->vfinfo[vf].vlan_count--;
 
        /* disable hide VLAN on X550 */
        if (hw->mac.type >= ixgbe_mac_X550)
        hw->mac.ops.set_mac_anti_spoofing(hw, setting, vf);
 
        /* configure VLAN spoofing */
-       if (adapter->vfinfo[vf].vlan_count)
-               hw->mac.ops.set_vlan_anti_spoofing(hw, setting, vf);
+       hw->mac.ops.set_vlan_anti_spoofing(hw, setting, vf);
 
        /* Ensure LLDP and FC is set for Ethertype Antispoofing if we will be
         * calling set_ethertype_anti_spoofing for each VF in loop below