void i40e_notify_client_of_vf_msg(struct i40e_vsi *vsi, u32 vf_id,
                                  u8 *msg, u16 len);
 
-int i40e_vsi_control_rings(struct i40e_vsi *vsi, bool enable);
+int i40e_vsi_start_rings(struct i40e_vsi *vsi);
+void i40e_vsi_stop_rings(struct i40e_vsi *vsi);
 int i40e_reconfig_rss_queues(struct i40e_pf *pf, int queue_count);
 struct i40e_veb *i40e_veb_setup(struct i40e_pf *pf, u16 flags, u16 uplink_seid,
                                u16 downlink_seid, u8 enabled_tc);
 int i40e_vsi_open(struct i40e_vsi *vsi);
 void i40e_vlan_stripping_disable(struct i40e_vsi *vsi);
 int i40e_vsi_add_vlan(struct i40e_vsi *vsi, s16 vid);
-int i40e_vsi_kill_vlan(struct i40e_vsi *vsi, s16 vid);
+void i40e_vsi_kill_vlan(struct i40e_vsi *vsi, s16 vid);
 struct i40e_mac_filter *i40e_put_mac_in_vlan(struct i40e_vsi *vsi,
                                             const u8 *macaddr);
 int i40e_del_mac_all_vlan(struct i40e_vsi *vsi, const u8 *macaddr);
 
        I40E_ETH_TEST_REG = 0,
        I40E_ETH_TEST_EEPROM,
        I40E_ETH_TEST_INTR,
-       I40E_ETH_TEST_LOOPBACK,
        I40E_ETH_TEST_LINK,
 };
 
        "Register test  (offline)",
        "Eeprom test    (offline)",
        "Interrupt test (offline)",
-       "Loopback test  (offline)",
        "Link test   (on/offline)"
 };
 
        return *data;
 }
 
-static int i40e_loopback_test(struct net_device *netdev, u64 *data)
-{
-       struct i40e_netdev_priv *np = netdev_priv(netdev);
-       struct i40e_pf *pf = np->vsi->back;
-
-       netif_info(pf, hw, netdev, "loopback test not implemented\n");
-       *data = 0;
-
-       return *data;
-}
-
 static inline bool i40e_active_vfs(struct i40e_pf *pf)
 {
        struct i40e_vf *vfs = pf->vf;
                        data[I40E_ETH_TEST_REG]         = 1;
                        data[I40E_ETH_TEST_EEPROM]      = 1;
                        data[I40E_ETH_TEST_INTR]        = 1;
-                       data[I40E_ETH_TEST_LOOPBACK]    = 1;
                        data[I40E_ETH_TEST_LINK]        = 1;
                        eth_test->flags |= ETH_TEST_FL_FAILED;
                        clear_bit(__I40E_TESTING, &pf->state);
                if (i40e_intr_test(netdev, &data[I40E_ETH_TEST_INTR]))
                        eth_test->flags |= ETH_TEST_FL_FAILED;
 
-               if (i40e_loopback_test(netdev, &data[I40E_ETH_TEST_LOOPBACK]))
-                       eth_test->flags |= ETH_TEST_FL_FAILED;
-
                /* run reg test last, a reset is required after it */
                if (i40e_reg_test(netdev, &data[I40E_ETH_TEST_REG]))
                        eth_test->flags |= ETH_TEST_FL_FAILED;
                data[I40E_ETH_TEST_REG] = 0;
                data[I40E_ETH_TEST_EEPROM] = 0;
                data[I40E_ETH_TEST_INTR] = 0;
-               data[I40E_ETH_TEST_LOOPBACK] = 0;
        }
 
 skip_ol_tests:
 
  * i40e_vsi_kill_vlan - Remove vsi membership for given vlan
  * @vsi: the vsi being configured
  * @vid: vlan id to be removed (0 = untagged only , -1 = any)
- *
- * Return: 0 on success or negative otherwise
  **/
-int i40e_vsi_kill_vlan(struct i40e_vsi *vsi, s16 vid)
+void i40e_vsi_kill_vlan(struct i40e_vsi *vsi, s16 vid)
 {
        struct net_device *netdev = vsi->netdev;
        struct i40e_mac_filter *f;
         * applying the new filter changes
         */
        i40e_service_event_schedule(vsi->back);
-       return 0;
 }
 
 /**
 }
 
 /**
- * i40e_vsi_control_rings - Start or stop a VSI's rings
+ * i40e_vsi_start_rings - Start a VSI's rings
  * @vsi: the VSI being configured
- * @enable: start or stop the rings
  **/
-int i40e_vsi_control_rings(struct i40e_vsi *vsi, bool request)
+int i40e_vsi_start_rings(struct i40e_vsi *vsi)
 {
        int ret = 0;
 
        /* do rx first for enable and last for disable */
-       if (request) {
-               ret = i40e_vsi_control_rx(vsi, request);
-               if (ret)
-                       return ret;
-               ret = i40e_vsi_control_tx(vsi, request);
-       } else {
-               /* Ignore return value, we need to shutdown whatever we can */
-               i40e_vsi_control_tx(vsi, request);
-               i40e_vsi_control_rx(vsi, request);
-       }
+       ret = i40e_vsi_control_rx(vsi, true);
+       if (ret)
+               return ret;
+       ret = i40e_vsi_control_tx(vsi, true);
 
        return ret;
 }
 
+/**
+ * i40e_vsi_stop_rings - Stop a VSI's rings
+ * @vsi: the VSI being configured
+ **/
+void i40e_vsi_stop_rings(struct i40e_vsi *vsi)
+{
+       /* do rx first for enable and last for disable
+        * Ignore return value, we need to shutdown whatever we can
+        */
+       i40e_vsi_control_tx(vsi, false);
+       i40e_vsi_control_rx(vsi, false);
+}
+
 /**
  * i40e_vsi_free_irq - Free the irq association with the OS
  * @vsi: the VSI being configured
                i40e_configure_msi_and_legacy(vsi);
 
        /* start rings */
-       err = i40e_vsi_control_rings(vsi, true);
+       err = i40e_vsi_start_rings(vsi);
        if (err)
                return err;
 
                netif_tx_disable(vsi->netdev);
        }
        i40e_vsi_disable_irq(vsi);
-       i40e_vsi_control_rings(vsi, false);
+       i40e_vsi_stop_rings(vsi);
        i40e_napi_disable_all(vsi);
 
        for (i = 0; i < vsi->num_queue_pairs; i++) {
 
        if (vf->lan_vsi_idx == 0)
                goto complete_reset;
 
-       i40e_vsi_control_rings(pf->vsi[vf->lan_vsi_idx], false);
+       i40e_vsi_stop_rings(pf->vsi[vf->lan_vsi_idx]);
 complete_reset:
        /* reallocate VF resources to reset the VSI state */
        i40e_free_vf_res(vf);
        i40e_notify_client_of_vf_enable(pf, 0);
        for (i = 0; i < pf->num_alloc_vfs; i++)
                if (test_bit(I40E_VF_STAT_INIT, &pf->vf[i].vf_states))
-                       i40e_vsi_control_rings(pf->vsi[pf->vf[i].lan_vsi_idx],
-                                              false);
+                       i40e_vsi_stop_rings(pf->vsi[pf->vf[i].lan_vsi_idx]);
 
        /* Disable IOV before freeing resources. This lets any VF drivers
         * running in the host get themselves cleaned up before we yank
                goto error_param;
        }
 
-       if (i40e_vsi_control_rings(pf->vsi[vf->lan_vsi_idx], true))
+       if (i40e_vsi_start_rings(pf->vsi[vf->lan_vsi_idx]))
                aq_ret = I40E_ERR_TIMEOUT;
 error_param:
        /* send the response to the VF */
                goto error_param;
        }
 
-       if (i40e_vsi_control_rings(pf->vsi[vf->lan_vsi_idx], false))
-               aq_ret = I40E_ERR_TIMEOUT;
+       i40e_vsi_stop_rings(pf->vsi[vf->lan_vsi_idx]);
 
 error_param:
        /* send the response to the VF */
        }
 
        for (i = 0; i < vfl->num_elements; i++) {
-               int ret = i40e_vsi_kill_vlan(vsi, vfl->vlan_id[i]);
-               if (!ret)
-                       vf->num_vlan--;
+               i40e_vsi_kill_vlan(vsi, vfl->vlan_id[i]);
+               vf->num_vlan--;
 
                if (test_bit(I40E_VF_STAT_UC_PROMISC, &vf->vf_states))
                        i40e_aq_set_vsi_uc_promisc_on_vlan(&pf->hw, vsi->seid,
                                                           false,
                                                           vfl->vlan_id[i],
                                                           NULL);
-
-               if (ret)
-                       dev_err(&pf->pdev->dev,
-                               "Unable to delete VLAN filter %d for VF %d, error %d\n",
-                               vfl->vlan_id[i], vf->vf_id, ret);
        }
 
 error_param:
 
        if (vsi->info.pvid) {
                /* kill old VLAN */
-               ret = i40e_vsi_kill_vlan(vsi, (le16_to_cpu(vsi->info.pvid) &
-                                              VLAN_VID_MASK));
-               if (ret) {
-                       dev_info(&vsi->back->pdev->dev,
-                                "remove VLAN failed, ret=%d, aq_err=%d\n",
-                                ret, pf->hw.aq.asq_last_status);
-               }
+               i40e_vsi_kill_vlan(vsi, (le16_to_cpu(vsi->info.pvid) &
+                                        VLAN_VID_MASK));
        }
        if (vlan_id || qos)
                ret = i40e_vsi_add_pvid(vsi, vlanprio);