ice: Treat DCBx state NOT_STARTED as valid
authorDave Ertman <david.m.ertman@intel.com>
Mon, 29 Jul 2019 09:04:46 +0000 (02:04 -0700)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Fri, 23 Aug 2019 16:55:55 +0000 (09:55 -0700)
When a port is not cabled, but DCBx is enabled in the
firmware, the status of DCBx will be NOT_STARTED.  This
is a valid state for FW enabled and should not be
treated as a is_fw_lldp true automatically.

Add the code to treat NOT_STARTED as another valid state.

Signed-off-by: Dave Ertman <david.m.ertman@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/ice/ice_dcb.c

index c2002ded65f69dd85ff3d96c168ab04c7cc79b4f..d60c942249e8321cca011f701bb8240f4aec05b5 100644 (file)
@@ -954,7 +954,8 @@ enum ice_status ice_init_dcb(struct ice_hw *hw)
        pi->dcbx_status = ice_get_dcbx_status(hw);
 
        if (pi->dcbx_status == ICE_DCBX_STATUS_DONE ||
-           pi->dcbx_status == ICE_DCBX_STATUS_IN_PROGRESS) {
+           pi->dcbx_status == ICE_DCBX_STATUS_IN_PROGRESS ||
+           pi->dcbx_status == ICE_DCBX_STATUS_NOT_STARTED) {
                /* Get current DCBX configuration */
                ret = ice_get_dcb_cfg(pi);
                pi->is_sw_lldp = (hw->adminq.sq_last_status == ICE_AQ_RC_EPERM);