diff options
| author | Varun Reddy Yeturu <varunreddy.yeturu@codeaurora.org> | 2017-10-27 15:37:31 -0700 |
|---|---|---|
| committer | Varun Reddy Yeturu <varunreddy.yeturu@codeaurora.org> | 2017-10-27 15:37:31 -0700 |
| commit | 1fac7787a708686e11397f31abc60237c1ec775b (patch) | |
| tree | 914654e856f58d97fe59b67f9c54f14e542d638a | |
| parent | 37014423004dba623df1cfa234913efe34d6846b (diff) | |
qcacld-3.0: Free memory allocated for del sta params
Identify all the places where memory is not free'd in
case of WMA delete STA request and free it.
Change-Id: I97db2595d0b1d96bcbf97a28e9e1345504b30239
CRs-Fixed: 2133514
| -rw-r--r-- | core/wma/src/wma_dev_if.c | 9 | ||||
| -rw-r--r-- | core/wma/src/wma_nan_datapath.c | 4 | ||||
| -rw-r--r-- | core/wma/src/wma_scan_roam.c | 1 |
3 files changed, 12 insertions, 2 deletions
diff --git a/core/wma/src/wma_dev_if.c b/core/wma/src/wma_dev_if.c index b837a0d52b33..9fc1ff89c0b2 100644 --- a/core/wma/src/wma_dev_if.c +++ b/core/wma/src/wma_dev_if.c @@ -4931,8 +4931,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); @@ -4961,6 +4965,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 ee3ff60857ae..a33c75193c0d 100644 --- a/core/wma/src/wma_nan_datapath.c +++ b/core/wma/src/wma_nan_datapath.c @@ -1325,6 +1325,10 @@ 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 877b02546560..de7738e8d44a 100644 --- a/core/wma/src/wma_scan_roam.c +++ b/core/wma/src/wma_scan_roam.c @@ -2661,7 +2661,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); } |
