diff options
| author | Avinash JD <[email protected]> | 2020-02-27 18:14:57 +0000 |
|---|---|---|
| committer | Jeff Kirsher <[email protected]> | 2020-03-10 20:10:19 +0000 |
| commit | 1f454e06d93b7018f553256212f02424ac1be78e (patch) | |
| tree | b74c1163165e09fc36a40b309c61a10e5570ef28 /drivers/net/ethernet/intel/ice/ice_dcb_lib.c | |
| parent | ice: Display Link detected via Ethtool in safe mode (diff) | |
| download | kernel-1f454e06d93b7018f553256212f02424ac1be78e.tar.gz kernel-1f454e06d93b7018f553256212f02424ac1be78e.zip | |
ice: Fix corner case when switching from IEEE to CEE
While testing DCB for a corner case in which mode is switched from IEEE to
CEE and pfc_ena bitmask unchanged then DCBX mode doesn't get updated.
This is happening because the function ice_dcb_get_mode() is called
in a "no change detected block" instead of "change detected block".
Signed-off-by: Avinash JD <[email protected]>
Signed-off-by: Scott Register <[email protected]>
Tested-by: Andrew Bowers <[email protected]>
Signed-off-by: Jeff Kirsher <[email protected]>
Diffstat (limited to 'drivers/net/ethernet/intel/ice/ice_dcb_lib.c')
| -rw-r--r-- | drivers/net/ethernet/intel/ice/ice_dcb_lib.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/ethernet/intel/ice/ice_dcb_lib.c b/drivers/net/ethernet/intel/ice/ice_dcb_lib.c index 82790717c5a5..140a90cc6436 100644 --- a/drivers/net/ethernet/intel/ice/ice_dcb_lib.c +++ b/drivers/net/ethernet/intel/ice/ice_dcb_lib.c @@ -832,10 +832,11 @@ ice_dcb_process_lldp_set_mib_change(struct ice_pf *pf, /* No change detected in DCBX configs */ if (!memcmp(&tmp_dcbx_cfg, &pi->local_dcbx_cfg, sizeof(tmp_dcbx_cfg))) { dev_dbg(dev, "No change detected in DCBX configuration.\n"); - pf->dcbx_cap = ice_dcb_get_mode(pi, false); goto out; } + pf->dcbx_cap = ice_dcb_get_mode(pi, false); + need_reconfig = ice_dcb_need_recfg(pf, &tmp_dcbx_cfg, &pi->local_dcbx_cfg); ice_dcbnl_flush_apps(pf, &tmp_dcbx_cfg, &pi->local_dcbx_cfg); |
