qcacld-3.0: Fix to set ptk_installed to true in 11R roaming

qcacld-2.0 to qcacld-3.0 propagation

PTK exchange and install happens during preauthentication if key_mgmt is
FT-PSK. STA TL state moves to authenticated only if ptk_installed is true.
Currently ptk_installed is false after roaming due to which STA TL state
does not move to authenticated state and also does not enter BMPS.

To fix this issue, set ptk_installed to true in case of 11R roaming

Change-Id: I59e4466994e59b055246e86613315b0299b767a7
CRs-Fixed: 961555
This commit is contained in:
Sreelakshmi Konamki 2016-02-26 16:44:04 +05:30 • committed by Gerrit - the friendly Code Review server
commit 720f2b7ac2

View file

@ -1576,6 +1576,9 @@ static QDF_STATUS hdd_roam_set_key_complete_handler(hdd_adapter_t *pAdapter,
bool fConnected = false;
QDF_STATUS qdf_status = QDF_STATUS_E_FAILURE;
hdd_station_ctx_t *pHddStaCtx = WLAN_HDD_GET_STATION_CTX_PTR(pAdapter);
tHalHandle hal_ctx = WLAN_HDD_GET_HAL_CTX(pAdapter);
tpAniSirGlobal mac_ctx = PMAC_STRUCT(hal_ctx);
ENTER();
if (NULL == pRoamInfo) {
@ -1623,10 +1626,23 @@ static QDF_STATUS hdd_roam_set_key_complete_handler(hdd_adapter_t *pAdapter,
* At this time we don't handle the state in detail.
* Related CR: 174048 - TL not in authenticated state
*/
if (eCSR_ROAM_RESULT_AUTHENTICATED == roamResult)
if (eCSR_ROAM_RESULT_AUTHENTICATED == roamResult) {
pHddStaCtx->conn_info.gtk_installed = true;
else
/*
* PTK exchange happens in preauthentication
* itself if key_mgmt is FT-PSK, ptk_installed
* was false as there is no set PTK after
* roaming. STA TL state moves to authenticated
* only if ptk_installed is true. So, make
* ptk_installed to true in case of 11R roaming.
*/
if (csr_neighbor_roam_is11r_assoc(mac_ctx,
pAdapter->sessionId))
pHddStaCtx->conn_info.ptk_installed =
true;
} else {
pHddStaCtx->conn_info.ptk_installed = true;
}
/* In WPA case move STA to authenticated when
* ptk is installed.Earlier in WEP case STA