diff options
| author | Deepthi Gowri <deepthi@codeaurora.org> | 2016-09-01 15:47:28 +0530 |
|---|---|---|
| committer | Nishank Aggarwal <naggar@codeaurora.org> | 2016-09-16 21:06:36 +0530 |
| commit | 1de51e3876865af33ee3214708cd64eec10db05f (patch) | |
| tree | 4c69b847787f0ecff4a97950a00d0499283ce5fb | |
| parent | 3f2d02cd32269e37a02215fa247e3c914bbaa6f3 (diff) | |
qcacld-3.0: Use preauth channel to fetch the band during roaming
qcacld-2.0 to qcacld-3.0 propagation
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
| -rw-r--r-- | core/mac/src/pe/lim/lim_send_frames_host_roam.c | 14 | ||||
| -rw-r--r-- | core/mac/src/pe/lim/lim_send_management_frames.c | 16 |
2 files changed, 17 insertions, 13 deletions
diff --git a/core/mac/src/pe/lim/lim_send_frames_host_roam.c b/core/mac/src/pe/lim/lim_send_frames_host_roam.c index b4cff732b25b..5594dfc78843 100644 --- a/core/mac/src/pe/lim/lim_send_frames_host_roam.c +++ b/core/mac/src/pe/lim/lim_send_frames_host_roam.c @@ -407,12 +407,16 @@ void lim_send_reassoc_req_with_ft_ies_mgmt_frame(tpAniSirGlobal mac_ctx, lim_log(mac_ctx, LOG1, FL("Re-assoc Req Frame is: ")); sir_dump_buf(mac_ctx, SIR_LIM_MODULE_ID, LOG1, (uint8_t *) frame, (bytes + ft_ies_length)); - if ((SIR_BAND_5_GHZ == - lim_get_rf_band(pe_session->currentOperChannel)) || - (pe_session->pePersona == QDF_P2P_CLIENT_MODE) || - (pe_session->pePersona == QDF_P2P_GO_MODE)) { + + if ((NULL != pe_session->ftPEContext.pFTPreAuthReq) && + (SIR_BAND_5_GHZ == lim_get_rf_band( + pe_session->ftPEContext.pFTPreAuthReq->preAuthchannelNum))) + tx_flag |= HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME; + else if ((SIR_BAND_5_GHZ == + lim_get_rf_band(pe_session->currentOperChannel)) + || (pe_session->pePersona == QDF_P2P_CLIENT_MODE) + || (pe_session->pePersona == QDF_P2P_GO_MODE)) tx_flag |= HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME; - } if (NULL != pe_session->assocReq) { qdf_mem_free(pe_session->assocReq); diff --git a/core/mac/src/pe/lim/lim_send_management_frames.c b/core/mac/src/pe/lim/lim_send_management_frames.c index 43899d80751d..dbd4ff3d9dfd 100644 --- a/core/mac/src/pe/lim/lim_send_management_frames.c +++ b/core/mac/src/pe/lim/lim_send_management_frames.c @@ -2265,15 +2265,15 @@ alloc_packet: } sir_dump_buf(mac_ctx, SIR_LIM_MODULE_ID, LOG2, frame, frame_len); - if ((SIR_BAND_5_GHZ == lim_get_rf_band(session->currentOperChannel)) - || (session->pePersona == QDF_P2P_CLIENT_MODE) - || (session->pePersona == QDF_P2P_GO_MODE) - || ((NULL != session->ftPEContext.pFTPreAuthReq) && - (SIR_BAND_5_GHZ == - lim_get_rf_band(session->ftPEContext.pFTPreAuthReq-> - preAuthchannelNum)))) + if ((NULL != session->ftPEContext.pFTPreAuthReq) && + (SIR_BAND_5_GHZ == lim_get_rf_band( + session->ftPEContext.pFTPreAuthReq->preAuthchannelNum))) + tx_flag |= HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME; + else if ((SIR_BAND_5_GHZ == + lim_get_rf_band(session->currentOperChannel)) + || (session->pePersona == QDF_P2P_CLIENT_MODE) + || (session->pePersona == QDF_P2P_GO_MODE)) tx_flag |= HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME; - if (session->pePersona == QDF_P2P_CLIENT_MODE || session->pePersona == QDF_STA_MODE) |
