ice: add missing checks for PF vsi type
authorJesse Brandeburg <jesse.brandeburg@intel.com>
Wed, 14 Dec 2022 00:01:31 +0000 (16:01 -0800)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Thu, 19 Jan 2023 16:18:03 +0000 (08:18 -0800)
There were a few places we had missed checking the VSI type to make sure
it was definitely a PF VSI, before calling setup functions intended only
for the PF VSI.

This doesn't fix any explicit bugs but cleans up the code in a few
places and removes one explicit != vsi->type check that can be
superseded by this code (it's a super set)

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Tested-by: Gurucharan G <gurucharanx.g@intel.com> (A Contingent worker at Intel)
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/ice/ice_main.c

index d3ebfaf5a04bb5235cf0b39603758734167ceca5..c6d57f316429a79e0fc6c3894f33ee06556c5d90 100644 (file)
@@ -6144,15 +6144,12 @@ int ice_vsi_cfg(struct ice_vsi *vsi)
 {
        int err;
 
-       if (vsi->netdev) {
+       if (vsi->netdev && vsi->type == ICE_VSI_PF) {
                ice_set_rx_mode(vsi->netdev);
 
-               if (vsi->type != ICE_VSI_LB) {
-                       err = ice_vsi_vlan_setup(vsi);
-
-                       if (err)
-                               return err;
-               }
+               err = ice_vsi_vlan_setup(vsi);
+               if (err)
+                       return err;
        }
        ice_vsi_cfg_dcb_rings(vsi);
 
@@ -6333,7 +6330,7 @@ static int ice_up_complete(struct ice_vsi *vsi)
 
        if (vsi->port_info &&
            (vsi->port_info->phy.link_info.link_info & ICE_AQ_LINK_UP) &&
-           vsi->netdev) {
+           vsi->netdev && vsi->type == ICE_VSI_PF) {
                ice_print_link_msg(vsi, true);
                netif_tx_start_all_queues(vsi->netdev);
                netif_carrier_on(vsi->netdev);
@@ -6344,7 +6341,9 @@ static int ice_up_complete(struct ice_vsi *vsi)
         * set the baseline so counters are ready when interface is up
         */
        ice_update_eth_stats(vsi);
-       ice_service_task_schedule(pf);
+
+       if (vsi->type == ICE_VSI_PF)
+               ice_service_task_schedule(pf);
 
        return 0;
 }