summaryrefslogtreecommitdiff
path: root/core/mac/src
diff options
context:
space:
mode:
authorDeepthi Gowri <deepthi@codeaurora.org>2016-09-01 15:47:28 +0530
committerNishank Aggarwal <naggar@codeaurora.org>2016-09-16 21:06:36 +0530
commit1de51e3876865af33ee3214708cd64eec10db05f (patch)
tree4c69b847787f0ecff4a97950a00d0499283ce5fb /core/mac/src
parent3f2d02cd32269e37a02215fa247e3c914bbaa6f3 (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
Diffstat (limited to 'core/mac/src')
-rw-r--r--core/mac/src/pe/lim/lim_send_frames_host_roam.c14
-rw-r--r--core/mac/src/pe/lim/lim_send_management_frames.c16
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)