qcacld-2.0: Fix DTIM conversion during roaming

prima to qcacld-2.0 propagation

When SET_BSSKEY request comes first and then SET_STAKEY, variable
hdd_ReassocScenario is made false during SET_BSSKEY response. Because
of this, hdd_set_pwrparams API is not invoked to send power parameters
to FW. Hence, DTIM is switched from DTIM3 to DTIM1 during roaming.
Fix this by modifying hdd_ReassocScenario to false only during SET_STAKEY
response.

Change-Id: I6c3d6a4798f1537d66612472240a778949c62015
CRs-Fixed: 879769
This commit is contained in:
Padma, Santhosh Kumar 2015-08-13 20:01:33 +05:30 committed by syphyr
parent a3998c1eee
commit 8f24f07950
1 changed files with 4 additions and 3 deletions

View File

@ -3905,8 +3905,9 @@ hdd_smeRoamCallback(void *pContext, tCsrRoamInfo *pRoamInfo, tANI_U32 roamId,
}
}
if ((pHddCtx) &&
FULL_POWER == pmcGetPmcState(pHddCtx->hHal) &&
VOS_TRUE == pHddStaCtx->hdd_ReassocScenario) {
(FULL_POWER == pmcGetPmcState(pHddCtx->hHal)) &&
(VOS_TRUE == pHddStaCtx->hdd_ReassocScenario) &&
(eCSR_ROAM_RESULT_NONE == roamResult)) {
hddLog(LOG1,
FL("Device in full power, Stop and start traffic timer for roaming"));
pmcStopTrafficTimer(pHddCtx->hHal);
@ -3916,7 +3917,7 @@ hdd_smeRoamCallback(void *pContext, tCsrRoamInfo *pRoamInfo, tANI_U32 roamId,
hddLog(LOGP, FL("Cannot start traffic timer"));
}
halStatus = hdd_RoamSetKeyCompleteHandler( pAdapter, pRoamInfo, roamId, roamStatus, roamResult );
if (eCSR_ROAM_RESULT_AUTHENTICATED == roamResult) {
if (eCSR_ROAM_RESULT_NONE == roamResult) {
pHddStaCtx->hdd_ReassocScenario = VOS_FALSE;
hddLog(LOG1,
FL("hdd_ReassocScenario set to: %d, set key complete, session: %d"),