qcacld-3.0: Fix no 320M when connect 2 + 6 MLO AP

When connect 2 + 6 GHz MLO AP, 2 GHz is assoc link, when populate per
sta profile of 6 GHz in assoc req, use BW of current 2 GHz session
wrongly, so 320M is disabled wrongly in EHT cap.

To fix it, when populate per sta profile for assoc req, pass
pe_session as NULL since partner link pe session isn't created at that
time, don't clear 320M cap for 6 GHz link.

When config EPCS, update eht cap at same time.

Change-Id: I7422f0353cc087a24575f9be1d5b30a032cc7b8e
CRs-Fixed: 3821390
This commit is contained in:
Jianmin Zhu
2024-05-23 11:24:10 +08:00
gecommit door Ravindra Konda
bovenliggende 5f25ad55af
commit aae35f82a8
2 gewijzigde bestanden met toevoegingen van 15 en 2 verwijderingen

Bestand weergeven

@@ -1411,13 +1411,23 @@ bool wlan_mlme_get_epcs_capability(struct wlan_objmgr_psoc *psoc)
void wlan_mlme_set_epcs_capability(struct wlan_objmgr_psoc *psoc, bool flag)
{
struct wlan_mlme_psoc_ext_obj *mlme_obj = mlme_get_psoc_ext_obj(psoc);
struct mac_context *mac_ctx = cds_get_context(QDF_MODULE_ID_PE);
if (!mlme_obj)
if (!mlme_obj || !mac_ctx)
return;
mlme_debug("set mlme epcs capability from %d to %d",
mlme_obj->cfg.sta.epcs_capability, flag);
mlme_obj->cfg.sta.epcs_capability = flag;
if (flag) {
mlme_obj->cfg.eht_caps.dot11_eht_cap.epcs_pri_access = 1;
mac_ctx->eht_cap_2g.epcs_pri_access = 1;
mac_ctx->eht_cap_5g.epcs_pri_access = 1;
} else {
mlme_obj->cfg.eht_caps.dot11_eht_cap.epcs_pri_access = 0;
mac_ctx->eht_cap_2g.epcs_pri_access = 0;
mac_ctx->eht_cap_5g.epcs_pri_access = 0;
}
}
bool wlan_mlme_get_eht_disable_punct_in_us_lpi(struct wlan_objmgr_psoc *psoc)