qcacld-3.0: Address corner scenarios for dual sta roaming

Address below corner scenarios for dual sta roaming:

1. Initialize primary interface vdev id
with WLAN_UMAC_VDEV_ID_MAX.

2. Enable roaming while processing set primary interface
vendor command irrespective of dual sta roam policy.

3. Disable mcc_adaptive_scheduler before sending
WMI_RESMGR_ADAPTIVE_OCS_ENABLE_DISABLE_CMDID to FW and
enable it if host receives dual sta policy as unbiased.

Change-Id: I8e5254c6f9053bd5fe7f925af4b577e76c9b9a2e
CRs-Fixed: 2928870
This commit is contained in:
abhinav kumar
2021-04-21 22:39:34 +05:30
کامیت شده توسط Madan Koyyalamudi
والد 18dc7adec9
کامیت 9ca87d9490
6فایلهای تغییر یافته به همراه133 افزوده شده و 25 حذف شده

مشاهده پرونده

@@ -2463,6 +2463,19 @@ mlme_init_iot_cfg(struct wlan_objmgr_psoc *psoc,
mlme_iot_parse_aggr_info(psoc, iot);
}
/**
* mlme_init_primary_iface - Initialize primary iface
*
* @gen: Generic CFG config items
*
* Return: None
*/
static void
mlme_init_primary_iface(struct wlan_mlme_generic *gen)
{
gen->dual_sta_policy.primary_vdev_id = WLAN_UMAC_VDEV_ID_MAX;
}
QDF_STATUS mlme_cfg_on_psoc_enable(struct wlan_objmgr_psoc *psoc)
{
struct wlan_mlme_psoc_ext_obj *mlme_obj;
@@ -2517,6 +2530,7 @@ QDF_STATUS mlme_cfg_on_psoc_enable(struct wlan_objmgr_psoc *psoc)
mlme_init_roam_score_config(psoc, mlme_cfg);
mlme_init_ratemask_cfg(psoc, &mlme_cfg->ratemask_cfg);
mlme_init_iot_cfg(psoc, &mlme_cfg->iot);
mlme_init_primary_iface(&mlme_cfg->gen);
return status;
}

مشاهده پرونده

@@ -1198,6 +1198,15 @@ QDF_STATUS
ucfg_mlme_get_roam_bmiss_final_bcnt(struct wlan_objmgr_psoc *psoc,
uint8_t *val);
/**
* ucfg_mlme_get_dual_sta_roaming_enabled() - Get dual sta roaming enable flag
* @psoc: pointer to psoc object
*
* Return: true if dual sta roaming allowed in fw
*/
bool
ucfg_mlme_get_dual_sta_roaming_enabled(struct wlan_objmgr_psoc *psoc);
/**
* ucfg_mlme_get_roam_bmiss_first_bcnt() - Get roam bmiss final count
* @psoc: pointer to psoc object

مشاهده پرونده

@@ -816,6 +816,11 @@ ucfg_mlme_get_roam_bmiss_final_bcnt(struct wlan_objmgr_psoc *psoc,
return wlan_mlme_get_roam_bmiss_final_bcnt(psoc, val);
}
bool ucfg_mlme_get_dual_sta_roaming_enabled(struct wlan_objmgr_psoc *psoc)
{
return wlan_mlme_get_dual_sta_roaming_enabled(psoc);
}
QDF_STATUS
ucfg_mlme_get_roam_bmiss_first_bcnt(struct wlan_objmgr_psoc *psoc,
uint8_t *val)