diff --git a/core/wma/src/wma_dev_if.c b/core/wma/src/wma_dev_if.c index e55045dd5daa..e1b9893c1d91 100644 --- a/core/wma/src/wma_dev_if.c +++ b/core/wma/src/wma_dev_if.c @@ -4897,8 +4897,12 @@ void wma_delete_sta(tp_wma_handle wma, tpDeleteStaParams del_sta) switch (oper_mode) { case BSS_OPERATIONAL_MODE_STA: wma_delete_sta_req_sta_mode(wma, del_sta); - if (wma_is_roam_synch_in_progress(wma, smesession_id)) + if (wma_is_roam_synch_in_progress(wma, smesession_id)) { + WMA_LOGD(FL("LFR3: Del STA on vdev_id %d"), + del_sta->smesessionId); + qdf_mem_free(del_sta); return; + } if (!rsp_requested) { WMA_LOGD(FL("vdev_id %d status %d"), del_sta->smesessionId, del_sta->status); @@ -4927,6 +4931,9 @@ void wma_delete_sta(tp_wma_handle wma, tpDeleteStaParams del_sta) case BSS_OPERATIONAL_MODE_NDI: wma_delete_sta_req_ndi_mode(wma, del_sta); break; + default: + WMA_LOGE(FL("Incorrect oper mode %d"), oper_mode); + qdf_mem_free(del_sta); } #ifdef QCA_IBSS_SUPPORT diff --git a/core/wma/src/wma_nan_datapath.c b/core/wma/src/wma_nan_datapath.c index 479fd338cff8..79664c202d1f 100644 --- a/core/wma/src/wma_nan_datapath.c +++ b/core/wma/src/wma_nan_datapath.c @@ -1214,5 +1214,9 @@ send_del_rsp: WMA_LOGD(FL("Sending del rsp to umac (status: %d)"), del_sta->status); wma_send_msg_high_priority(wma, WMA_DELETE_STA_RSP, del_sta, 0); + } else { + WMA_LOGD(FL("NDI Del Sta resp not needed")); + qdf_mem_free(del_sta); } + } diff --git a/core/wma/src/wma_scan_roam.c b/core/wma/src/wma_scan_roam.c index aeeec582ec07..34743ca3e86e 100644 --- a/core/wma/src/wma_scan_roam.c +++ b/core/wma/src/wma_scan_roam.c @@ -2474,7 +2474,6 @@ static void wma_roam_update_vdev(tp_wma_handle wma, qdf_mem_copy(wma->interfaces[vdev_id].bssid, roam_synch_ind_ptr->bssid.bytes, IEEE80211_ADDR_LEN); qdf_mem_free(del_bss_params); - qdf_mem_free(del_sta_params); qdf_mem_free(set_link_params); qdf_mem_free(add_sta_params); }