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 4fe0df4632aa..b0cf98735fce 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 @@ -1375,8 +1375,10 @@ error: if (lim_set_link_state (mac_ctx, eSIR_LINK_DOWN_STATE, session_entry->bssId, session_entry->selfMacAddr, lim_join_result_callback, - param) != eSIR_SUCCESS) + param) != eSIR_SUCCESS) { + qdf_mem_free(param); pe_err("Failed to set the LinkState"); + } return; } diff --git a/core/wma/src/wma_dev_if.c b/core/wma/src/wma_dev_if.c index befaec8bd770..d161c0c8c711 100644 --- a/core/wma/src/wma_dev_if.c +++ b/core/wma/src/wma_dev_if.c @@ -1382,6 +1382,14 @@ static void wma_cleanup_target_req_param(struct wma_target_req *tgt_req) qdf_mem_free(tgt_req->user_data); tgt_req->user_data = NULL; } + + if (tgt_req->msg_type == WMA_SET_LINK_STATE && tgt_req->user_data) { + tpLinkStateParams params = + (tpLinkStateParams) tgt_req->user_data; + qdf_mem_free(params->callbackArg); + qdf_mem_free(tgt_req->user_data); + tgt_req->user_data = NULL; + } } /**