From 7ee80ac7adfffef2a76430e6399ce2c98aef6b79 Mon Sep 17 00:00:00 2001 From: Leela Venkata Kiran Kumar Reddy Chirala Date: Tue, 11 Nov 2014 17:41:09 -0800 Subject: 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 --- CORE/SME/inc/csrApi.h | 6 ++++++ CORE/SME/src/csr/csrApiRoam.c | 10 ++++++++++ CORE/SME/src/csr/csrNeighborRoam.c | 5 +++++ 3 files changed, 21 insertions(+) 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; } -- cgit v1.2.3