summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeela Venkata Kiran Kumar Reddy Chirala <kchirala@qca.qualcomm.com>2014-11-11 17:41:09 -0800
committerAnjaneeDevi Kapparapu <c_akappa@qti.qualcomm.com>2014-11-12 16:28:12 +0530
commit7ee80ac7adfffef2a76430e6399ce2c98aef6b79 (patch)
tree78c8b57ebf23799d3098844d803a8b24ef2f62f7
parentb9478dd7c3718f7217791d1eaf2172bcd2d8c0e4 (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.h6
-rw-r--r--CORE/SME/src/csr/csrApiRoam.c10
-rw-r--r--CORE/SME/src/csr/csrNeighborRoam.c5
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;
}