mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-13 05:54:23 +08:00
ice: Copy dcbx configuration only if mode is correct
In rebuild DCB desired_dcbx_cfg was copy to local_dcbx_cfg, but if DCBX mode is IEEE desired_dcbx_cfg is not initialized by DCBX config from FW. Change logic to copy config value only if mode is set to CEE. If driver copy desired_dcbx_cfg to local_dcbx_cfg in IEEE mode there is problem with globr. System is frozen after two or more globr. Signed-off-by: Michal Swiatkowski <michal.swiatkowski@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
parent
64bcaec642
commit
42a179c80d
@ -334,8 +334,10 @@ void ice_dcb_rebuild(struct ice_pf *pf)
|
||||
devm_kfree(&pf->pdev->dev, prev_cfg);
|
||||
|
||||
/* Set the local desired config */
|
||||
memset(&pf->hw.port_info->local_dcbx_cfg, 0, sizeof(*local_dcbx_cfg));
|
||||
memcpy(local_dcbx_cfg, desired_dcbx_cfg, sizeof(*local_dcbx_cfg));
|
||||
if (local_dcbx_cfg->dcbx_mode == ICE_DCBX_MODE_CEE)
|
||||
memcpy(local_dcbx_cfg, desired_dcbx_cfg,
|
||||
sizeof(*local_dcbx_cfg));
|
||||
|
||||
ice_cfg_etsrec_defaults(pf->hw.port_info);
|
||||
ret = ice_set_dcb_cfg(pf->hw.port_info);
|
||||
if (ret) {
|
||||
|
Loading…
Reference in New Issue
Block a user