mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-10 06:09:23 -04:00
qcacld-3.0: Change channel bonding mode after roaming
The CB mode could get changed after roaming since the non-AP STA can roam to an AP which has a different channel bonding mode. So, derive the CB mode from the IE's and accordingly set in the connected profile. CRs-Fixed: 972479 Change-Id: I01daa88d69397fb0e88615656903c43ed623ed38
This commit is contained in:
parent
8c37e32104
commit
d521600a10
1 changed files with 11 additions and 1 deletions
|
|
@ -7820,12 +7820,16 @@ QDF_STATUS csr_roam_save_connected_infomation(tpAniSirGlobal pMac,
|
|||
qdf_mem_free(pConnectProfile->pAddIEAssoc);
|
||||
pConnectProfile->pAddIEAssoc = NULL;
|
||||
}
|
||||
/*
|
||||
* In case of LFR2.0, the connected profile is copied into a temporary
|
||||
* profile and cleared and then is copied back. This is not needed for
|
||||
* LFR3.0, since the profile is not cleared.
|
||||
*/
|
||||
if (!pSession->roam_synch_in_progress) {
|
||||
qdf_mem_set(&pSession->connectedProfile,
|
||||
sizeof(tCsrRoamConnectedProfile), 0);
|
||||
pConnectProfile->AuthType = pProfile->negotiatedAuthType;
|
||||
pConnectProfile->AuthInfo = pProfile->AuthType;
|
||||
pConnectProfile->CBMode = pProfile->CBMode;
|
||||
pConnectProfile->EncryptionType =
|
||||
pProfile->negotiatedUCEncryptionType;
|
||||
pConnectProfile->EncryptionInfo = pProfile->EncryptionType;
|
||||
|
|
@ -7861,6 +7865,12 @@ QDF_STATUS csr_roam_save_connected_infomation(tpAniSirGlobal pMac,
|
|||
pConnectProfile->MFPCapable = pProfile->MFPCapable;
|
||||
#endif
|
||||
}
|
||||
if (pIes)
|
||||
pConnectProfile->CBMode = csr_get_cb_mode_from_ies(pMac,
|
||||
pSirBssDesc->channelId, pIes);
|
||||
else
|
||||
sms_log(pMac, LOGE, FL("IE unavailable to derive CB mode"));
|
||||
|
||||
/* Save bssid */
|
||||
pConnectProfile->operationChannel = pSirBssDesc->channelId;
|
||||
pConnectProfile->beaconInterval = pSirBssDesc->beaconInterval;
|
||||
|
|
|
|||
Loading…
Reference in a new issue