qcacld-3.0: Handle TWT for 11n case

When SAP and STA both are in 11n mode then STA doesn't populate
twt_req bit during assoc req. Because of this TWT commands failed.

As part of fix, check the below variable before setting twt_req
1. TWT requestor support from firmware
2. Enable TWT ini
3. TWT ini support in 11n
4. TWT requestor support from host

Set twt_requestor bit only if all above variable are set.

Change-Id: I77f2397f986b517cd5292109927eece7fdb4c7c1
CRs-Fixed: 3210015
Este commit está contenido en:
Jyoti Kumari
2022-05-31 23:02:03 +05:30
cometido por Madan Koyyalamudi
padre 2bfd7b676c
commit e526ca28f2
Se han modificado 2 ficheros con 25 adiciones y 0 borrados

Ver fichero

@@ -323,6 +323,9 @@ wlan_twt_cfg_get_support_in_11n_mode(struct wlan_objmgr_psoc *psoc,
bool *val)
{
struct twt_psoc_priv_obj *twt_psoc_obj;
psoc_twt_ext_cfg_params_t *twt_cfg;
struct twt_tgt_caps *tgt_caps;
bool enable_twt;
twt_psoc_obj = wlan_twt_psoc_get_comp_private_obj(psoc);
if (!twt_psoc_obj) {
@@ -331,6 +334,12 @@ wlan_twt_cfg_get_support_in_11n_mode(struct wlan_objmgr_psoc *psoc,
}
*val = twt_psoc_obj->cfg_params.is_twt_enabled_in_11n;
twt_cfg = &twt_psoc_obj->cfg_params;
tgt_caps = &twt_psoc_obj->twt_caps;
enable_twt = twt_cfg->enable_twt;
*val = QDF_MIN(tgt_caps->twt_requestor,
(enable_twt && twt_cfg->twt_requestor && *val));
return QDF_STATUS_SUCCESS;
}