net/qede/base: retain dcbx config till actually applied
Retain user dcbx configurations till the config is applied to the adapter i.e. till the negotiation completes. If base driver receives a config update before negotiation completes, then base driver merges the new config with the cached config and sends it to management FW. Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
This commit is contained in:
parent
3af0c2a203
commit
36341ac6f3
@ -1220,15 +1220,10 @@ enum _ecore_status_t ecore_dcbx_config_params(struct ecore_hwfn *p_hwfn,
|
||||
u32 resp = 0, param = 0;
|
||||
enum _ecore_status_t rc = ECORE_SUCCESS;
|
||||
|
||||
if (!hw_commit) {
|
||||
OSAL_MEMCPY(&p_hwfn->p_dcbx_info->set, params,
|
||||
sizeof(p_hwfn->p_dcbx_info->set));
|
||||
OSAL_MEMCPY(&p_hwfn->p_dcbx_info->set, params,
|
||||
sizeof(p_hwfn->p_dcbx_info->set));
|
||||
if (!hw_commit)
|
||||
return ECORE_SUCCESS;
|
||||
}
|
||||
|
||||
/* clear set-parmas cache */
|
||||
OSAL_MEMSET(&p_hwfn->p_dcbx_info->set, 0,
|
||||
sizeof(struct ecore_dcbx_set));
|
||||
|
||||
OSAL_MEMSET(&local_admin, 0, sizeof(local_admin));
|
||||
ecore_dcbx_set_local_params(p_hwfn, &local_admin, params);
|
||||
|
@ -1984,6 +1984,9 @@ enum _ecore_status_t ecore_mcp_handle_events(struct ecore_hwfn *p_hwfn,
|
||||
case MFW_DRV_MSG_DCBX_OPERATIONAL_MIB_UPDATED:
|
||||
ecore_dcbx_mib_update_event(p_hwfn, p_ptt,
|
||||
ECORE_DCBX_OPERATIONAL_MIB);
|
||||
/* clear the user-config cache */
|
||||
OSAL_MEMSET(&p_hwfn->p_dcbx_info->set, 0,
|
||||
sizeof(struct ecore_dcbx_set));
|
||||
break;
|
||||
case MFW_DRV_MSG_OEM_CFG_UPDATE:
|
||||
ecore_mcp_handle_ufp_event(p_hwfn, p_ptt);
|
||||
|
Loading…
Reference in New Issue
Block a user