mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-11 07:03:09 -04:00
qcacld-3.0: Fix PMF configuration for LFR2 and LFR3 roaming
This commit will fix the incorrect pmf config param for STA DUT in-case of LFR2/3 roaming scenario. Change-Id: Ic0d6d4632cfeaa0589b435a6710f3c2380cf5883 CRs-Fixed: 935947
This commit is contained in:
parent
3b7f733ea6
commit
b2f1304e77
3 changed files with 38 additions and 6 deletions
|
|
@ -974,6 +974,11 @@ CDF_STATUS csr_roam_copy_connect_profile(tpAniSirGlobal pMac,
|
|||
pProfile->eseCckmInfo.krk_plumbed =
|
||||
connected_prof->eseCckmInfo.krk_plumbed;
|
||||
}
|
||||
#endif
|
||||
#ifdef WLAN_FEATURE_11W
|
||||
pProfile->MFPEnabled = connected_prof->MFPEnabled;
|
||||
pProfile->MFPRequired = connected_prof->MFPRequired;
|
||||
pProfile->MFPCapable = connected_prof->MFPCapable;
|
||||
#endif
|
||||
}
|
||||
return status;
|
||||
|
|
@ -6932,6 +6937,11 @@ CDF_STATUS csr_roam_copy_connected_profile(tpAniSirGlobal pMac,
|
|||
pSrcProfile->MDID.mobilityDomain;
|
||||
}
|
||||
#endif
|
||||
#ifdef WLAN_FEATURE_11W
|
||||
pDstProfile->MFPEnabled = pSrcProfile->MFPEnabled;
|
||||
pDstProfile->MFPRequired = pSrcProfile->MFPRequired;
|
||||
pDstProfile->MFPCapable = pSrcProfile->MFPCapable;
|
||||
#endif
|
||||
|
||||
end:
|
||||
if (!CDF_IS_STATUS_SUCCESS(status)) {
|
||||
|
|
@ -13261,6 +13271,11 @@ csr_roam_remove_connected_bss_from_scan_cache(tpAniSirGlobal pMac,
|
|||
pScanFilter->bOSENAssociation = false;
|
||||
pScanFilter->countryCode[0] = 0;
|
||||
pScanFilter->phyMode = eCSR_DOT11_MODE_AUTO;
|
||||
#ifdef WLAN_FEATURE_11W
|
||||
pScanFilter->MFPEnabled = pConnProfile->MFPEnabled;
|
||||
pScanFilter->MFPRequired = pConnProfile->MFPRequired;
|
||||
pScanFilter->MFPCapable = pConnProfile->MFPCapable;
|
||||
#endif
|
||||
csr_ll_lock(&pMac->scan.scanResultList);
|
||||
pEntry = csr_ll_peek_head(&pMac->scan.scanResultList, LL_ACCESS_NOLOCK);
|
||||
while (pEntry) {
|
||||
|
|
|
|||
|
|
@ -2056,20 +2056,28 @@ bool csr_neighbor_roam_is_ssid_and_security_match(tpAniSirGlobal pMac,
|
|||
pIes->SSID.ssid,
|
||||
pIes->SSID.num_ssid, true);
|
||||
if (true == fMatch) {
|
||||
#ifdef WLAN_FEATURE_11W
|
||||
/*
|
||||
* for now we are sending NULL for all PMF related filter
|
||||
* parameters during roam to the neighbor AP because
|
||||
* so far 80211W spec doesn't specify anything about
|
||||
* roaming scenario.
|
||||
* We are sending current connected APs profile setting
|
||||
* if other AP doesn't have the same PMF setting as currently
|
||||
* connected AP then we will have some issues in roaming.
|
||||
*
|
||||
* Once roaming scenario is defined, we should re-visit
|
||||
* this section and remove this comment.
|
||||
* Make sure all the APs have same PMF settings to avoid
|
||||
* any corner cases.
|
||||
*/
|
||||
fMatch = csr_is_security_match(pMac, &authType,
|
||||
&uCEncryptionType, &mCEncryptionType,
|
||||
&pCurProfile->MFPEnabled,
|
||||
&pCurProfile->MFPRequired,
|
||||
&pCurProfile->MFPCapable,
|
||||
pBssDesc, pIes, NULL, NULL, NULL);
|
||||
#else
|
||||
fMatch = csr_is_security_match(pMac, &authType,
|
||||
&uCEncryptionType,
|
||||
&mCEncryptionType, NULL,
|
||||
NULL, NULL, pBssDesc,
|
||||
pIes, NULL, NULL, NULL);
|
||||
#endif
|
||||
return fMatch;
|
||||
} else {
|
||||
return fMatch;
|
||||
|
|
|
|||
|
|
@ -4867,9 +4867,18 @@ bool csr_match_connected_bss_security(tpAniSirGlobal pMac,
|
|||
authList.numEntries = 1;
|
||||
authList.authType[0] = pProfile->AuthType;
|
||||
|
||||
#ifdef WLAN_FEATURE_11W
|
||||
return csr_is_security_match(pMac, &authList, &ucEncryptionList,
|
||||
&mcEncryptionList,
|
||||
&pProfile->MFPEnabled,
|
||||
&pProfile->MFPRequired,
|
||||
&pProfile->MFPCapable,
|
||||
pBssDesc, pIes, NULL, NULL, NULL);
|
||||
#else
|
||||
return csr_is_security_match(pMac, &authList, &ucEncryptionList,
|
||||
&mcEncryptionList, NULL, NULL, NULL,
|
||||
pBssDesc, pIes, NULL, NULL, NULL);
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue