qcacld-2.0: Use preauth channel to fetch the band during roaming

During roaming the connected AP's operating channel is used instead of
preauth channel to fetch the band, based on which the data rate is set.
Due to this incorect data rate is set.

To address this, use the preauth channel during roaming to fetch the band
and set the data rate accordingly.

CRs-Fixed: 1017943
Change-Id: Ia3bf13c1a93a156eba8461bcdcf3490b9f49c2a2
This commit is contained in:
Deepthi Gowri 2016-05-13 19:52:55 +05:30 committed by syphyr
parent 12589affa1
commit cdee93c7ca

View file

@ -2827,14 +2827,17 @@ limSendReassocReqWithFTIEsMgmtFrame(tpAniSirGlobal pMac,
(nBytes + ft_ies_length));)
#endif
if( ( SIR_BAND_5_GHZ == limGetRFBand(psessionEntry->currentOperChannel))
|| ( psessionEntry->pePersona == VOS_P2P_CLIENT_MODE ) ||
( psessionEntry->pePersona == VOS_P2P_GO_MODE)
)
{
txFlag |= HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME;
}
#if defined(WLAN_FEATURE_VOWIFI_11R) || defined(FEATURE_WLAN_ESE) || defined(FEATURE_WLAN_LFR)
if ((NULL != psessionEntry->ftPEContext.pFTPreAuthReq) &&
( SIR_BAND_5_GHZ == limGetRFBand(
psessionEntry->ftPEContext.pFTPreAuthReq->preAuthchannelNum)))
txFlag |= HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME;
else
#endif
if( (SIR_BAND_5_GHZ == limGetRFBand(psessionEntry->currentOperChannel)) ||
(psessionEntry->pePersona == VOS_P2P_CLIENT_MODE) ||
(psessionEntry->pePersona == VOS_P2P_GO_MODE))
txFlag |= HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME;
if( NULL != psessionEntry->assocReq )
{
@ -3258,10 +3261,9 @@ limSendReassocReqMgmtFrame(tpAniSirGlobal pMac,
psessionEntry->assocReqLen = nPayload;
}
if( ( SIR_BAND_5_GHZ == limGetRFBand(psessionEntry->currentOperChannel))
|| ( psessionEntry->pePersona == VOS_P2P_CLIENT_MODE ) ||
( psessionEntry->pePersona == VOS_P2P_GO_MODE)
)
if( (SIR_BAND_5_GHZ == limGetRFBand(psessionEntry->currentOperChannel)) ||
(psessionEntry->pePersona == VOS_P2P_CLIENT_MODE) ||
(psessionEntry->pePersona == VOS_P2P_GO_MODE))
{
txFlag |= HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME;
}
@ -3625,20 +3627,19 @@ limSendAuthMgmtFrame(tpAniSirGlobal pMac,
}
PELOG2(sirDumpBuf(pMac, SIR_LIM_MODULE_ID, LOG2, pFrame, frameLen);)
if( (SIR_BAND_5_GHZ == limGetRFBand(psessionEntry->currentOperChannel)) ||
(psessionEntry->pePersona == VOS_P2P_CLIENT_MODE) ||
(psessionEntry->pePersona == VOS_P2P_GO_MODE)
#if defined(WLAN_FEATURE_VOWIFI_11R) || defined(FEATURE_WLAN_ESE) || defined(FEATURE_WLAN_LFR)
|| ((NULL != psessionEntry->ftPEContext.pFTPreAuthReq) &&
(SIR_BAND_5_GHZ ==
limGetRFBand(psessionEntry->ftPEContext.pFTPreAuthReq->preAuthchannelNum)))
#endif
)
{
if ((NULL != psessionEntry->ftPEContext.pFTPreAuthReq) &&
( SIR_BAND_5_GHZ == limGetRFBand(
psessionEntry->ftPEContext.pFTPreAuthReq->preAuthchannelNum)))
txFlag |= HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME;
else
#endif
if( (SIR_BAND_5_GHZ == limGetRFBand(psessionEntry->currentOperChannel)) ||
(psessionEntry->pePersona == VOS_P2P_CLIENT_MODE) ||
(psessionEntry->pePersona == VOS_P2P_GO_MODE))
txFlag |= HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME;
}
if(psessionEntry->pePersona == VOS_P2P_CLIENT_MODE ||
if(psessionEntry->pePersona == VOS_P2P_CLIENT_MODE ||
psessionEntry->pePersona == VOS_STA_MODE)
{
txFlag |= HAL_USE_PEER_STA_REQUESTED_MASK;