summaryrefslogtreecommitdiff
path: root/core/mac/src
diff options
context:
space:
mode:
authorNaveen Rawat <naveenrawat@codeaurora.org>2016-10-21 15:59:54 -0700
committerqcabuildsw <qcabuildsw@localhost>2016-10-29 17:34:06 -0700
commit2d57a0dd0e73fd286963c40e6382ff45c77fe208 (patch)
tree135da691674509a02a394e00b02321cff3b69a72 /core/mac/src
parent975b4d339abc4a3acb9473cb1fc38fe0795403db (diff)
qcacld-3.0: Fix ext_caps IE in Probe Request sent due to HB Failure
Pass addition scan IE to probe request function when generating probe request due to HB failure, otherwise Ext Cap IE values will not be consistent with other probe requests. Change-Id: I65ba2d5377f7c48d5344c5b4b9782e3c55f6635c CRs-Fixed: 1081117
Diffstat (limited to 'core/mac/src')
-rw-r--r--core/mac/src/pe/lim/lim_link_monitoring_algo.c4
-rw-r--r--core/mac/src/pe/lim/lim_process_mlm_rsp_messages.c10
2 files changed, 8 insertions, 6 deletions
diff --git a/core/mac/src/pe/lim/lim_link_monitoring_algo.c b/core/mac/src/pe/lim/lim_link_monitoring_algo.c
index 9d7b9fe9d936..57f00e48abd3 100644
--- a/core/mac/src/pe/lim/lim_link_monitoring_algo.c
+++ b/core/mac/src/pe/lim/lim_link_monitoring_algo.c
@@ -491,7 +491,9 @@ void lim_handle_heart_beat_failure(tpAniSirGlobal mac_ctx,
/* for searching AP, we don't include any more IE */
lim_send_probe_req_mgmt_frame(mac_ctx, &session->ssId,
session->bssId, curr_chan, session->selfMacAddr,
- session->dot11mode, 0, NULL);
+ session->dot11mode,
+ session->pLimJoinReq->addIEScan.length,
+ session->pLimJoinReq->addIEScan.addIEdata);
} else {
lim_log(mac_ctx, LOGW,
FL("HB missed from AP on DFS chanel moving to passive"));
diff --git a/core/mac/src/pe/lim/lim_process_mlm_rsp_messages.c b/core/mac/src/pe/lim/lim_process_mlm_rsp_messages.c
index bd61bb43c4a0..ed7eb00abe27 100644
--- a/core/mac/src/pe/lim/lim_process_mlm_rsp_messages.c
+++ b/core/mac/src/pe/lim/lim_process_mlm_rsp_messages.c
@@ -1372,6 +1372,8 @@ lim_handle_sme_join_result(tpAniSirGlobal mac_ctx,
* to SME
*/
lim_cleanup_rx_path(mac_ctx, sta_ds, session_entry);
+ qdf_mem_free(session_entry->pLimJoinReq);
+ session_entry->pLimJoinReq = NULL;
/* Cleanup if add bss failed */
if (session_entry->add_bss_failed) {
dph_delete_hash_entry(mac_ctx,
@@ -1379,15 +1381,13 @@ lim_handle_sme_join_result(tpAniSirGlobal mac_ctx,
&session_entry->dph.dphHashTable);
goto error;
}
- qdf_mem_free(session_entry->pLimJoinReq);
- session_entry->pLimJoinReq = NULL;
return;
}
+ qdf_mem_free(session_entry->pLimJoinReq);
+ session_entry->pLimJoinReq = NULL;
}
error:
- qdf_mem_free(session_entry->pLimJoinReq);
- session_entry->pLimJoinReq = NULL;
- /* Delete teh session if JOIN failure occurred. */
+ /* Delete the session if JOIN failure occurred. */
if (result_code != eSIR_SME_SUCCESS) {
if (lim_set_link_state
(mac_ctx, eSIR_LINK_DOWN_STATE,