diff options
| author | Leela Venkata Kiran Kumar Reddy Chirala <kchirala@qca.qualcomm.com> | 2014-11-11 17:41:09 -0800 |
|---|---|---|
| committer | AnjaneeDevi Kapparapu <c_akappa@qti.qualcomm.com> | 2014-11-12 16:28:12 +0530 |
| commit | 7ee80ac7adfffef2a76430e6399ce2c98aef6b79 (patch) | |
| tree | 78c8b57ebf23799d3098844d803a8b24ef2f62f7 | |
| parent | b9478dd7c3718f7217791d1eaf2172bcd2d8c0e4 (diff) | |
qca-cld:Fix for roaming failure with pmf required
Roaming fails with pmf Ap due to capabilities mismatch,
as the initial connection pmf capabilities are not saved
in the connected profile.save the pmf capabilities in the
connected profile so that they can be used to prepare
filter while roaming.
CRs-fixed: 754455
Change-Id: I507e026328e7c707da70e0fa2e00fd1e485a8e34
| -rw-r--r-- | CORE/SME/inc/csrApi.h | 6 | ||||
| -rw-r--r-- | CORE/SME/src/csr/csrApiRoam.c | 10 | ||||
| -rw-r--r-- | CORE/SME/src/csr/csrNeighborRoam.c | 5 |
3 files changed, 21 insertions, 0 deletions
diff --git a/CORE/SME/inc/csrApi.h b/CORE/SME/inc/csrApi.h index 53357291e16a..e839a5d8ee4b 100644 --- a/CORE/SME/inc/csrApi.h +++ b/CORE/SME/inc/csrApi.h @@ -1017,6 +1017,12 @@ typedef struct tagCsrRoamConnectedProfile #ifdef FEATURE_WLAN_MCC_TO_SCC_SWITCH tCsrRoamHTProfile HTProfile; #endif +#ifdef WLAN_FEATURE_11W + /* Management Frame Protection */ + tANI_BOOLEAN MFPEnabled; + tANI_U8 MFPRequired; + tANI_U8 MFPCapable; +#endif }tCsrRoamConnectedProfile; diff --git a/CORE/SME/src/csr/csrApiRoam.c b/CORE/SME/src/csr/csrApiRoam.c index d4e014d965d3..df1fa201c266 100644 --- a/CORE/SME/src/csr/csrApiRoam.c +++ b/CORE/SME/src/csr/csrApiRoam.c @@ -6675,6 +6675,11 @@ eHalStatus csrRoamCopyConnectedProfile(tpAniSirGlobal pMac, tANI_U32 sessionId, pDstProfile->CBMode = pSrcProfile->CBMode; vos_mem_copy(&pDstProfile->Keys, &pSrcProfile->Keys, sizeof(pDstProfile->Keys)); +#ifdef WLAN_FEATURE_11W + pDstProfile->MFPEnabled = pSrcProfile->MFPEnabled; + pDstProfile->MFPRequired = pSrcProfile->MFPRequired; + pDstProfile->MFPCapable = pSrcProfile->MFPCapable; +#endif #ifdef WLAN_FEATURE_VOWIFI_11R if (pSrcProfile->MDID.mdiePresent) { @@ -7580,6 +7585,11 @@ eHalStatus csrRoamSaveConnectedInfomation(tpAniSirGlobal pMac, tANI_U32 sessionI pProfile->nAddIEAssocLength); } +#ifdef WLAN_FEATURE_11W + pConnectProfile->MFPEnabled = pProfile->MFPEnabled; + pConnectProfile->MFPRequired = pProfile->MFPRequired; + pConnectProfile->MFPCapable = pProfile->MFPCapable; +#endif //Save bssid csrGetBssIdBssDesc(pMac, pSirBssDesc, &pConnectProfile->bssid); #ifdef WLAN_FEATURE_VOWIFI_11R diff --git a/CORE/SME/src/csr/csrNeighborRoam.c b/CORE/SME/src/csr/csrNeighborRoam.c index 2cf7ad0e974c..8cbea8ce5e76 100644 --- a/CORE/SME/src/csr/csrNeighborRoam.c +++ b/CORE/SME/src/csr/csrNeighborRoam.c @@ -1867,6 +1867,11 @@ csrNeighborRoamPrepareScanProfileFilter(tpAniSirGlobal pMac, } #endif +#ifdef WLAN_FEATURE_11W + pScanFilter->MFPEnabled = pCurProfile->MFPEnabled; + pScanFilter->MFPRequired = pCurProfile->MFPRequired; + pScanFilter->MFPCapable = pCurProfile->MFPCapable; +#endif return eHAL_STATUS_SUCCESS; } |
