diff options
| author | Liangwei Dong <liangwei@qti.qualcomm.com> | 2016-03-07 01:07:46 -0500 |
|---|---|---|
| committer | Anjaneedevi Kapparapu <akappa@codeaurora.org> | 2016-03-08 12:57:47 +0530 |
| commit | 60780140751adf3b076331a809ff5c32ff70dcb3 (patch) | |
| tree | fdfa35e5062531429e004db2d610eeae65a56a95 | |
| parent | e96d98054e75cb2742df54ab55b73aa30ce8036f (diff) | |
qcacld-2.0: Fix tpDeleteBssParams memory leak
"MEMORY_DEBUG" enabled driver shows the
tpDeleteBssParams is not freed upon driver unloading
in SNS test. This commit fixes this issue by
freeing tpDeleteBssParams once no referance to it.
Change-Id: I302e24048f6d0c25dc9d191b65a1435883a6c7e7
CRs-Fixed: 985334
| -rw-r--r-- | CORE/SERVICES/WMA/wma.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/CORE/SERVICES/WMA/wma.c b/CORE/SERVICES/WMA/wma.c index 61438357a1b3..7195a8d88b07 100644 --- a/CORE/SERVICES/WMA/wma.c +++ b/CORE/SERVICES/WMA/wma.c @@ -2209,6 +2209,7 @@ static int wma_vdev_stop_ind(tp_wma_handle wma, u_int8_t *buf) if (resp_event->vdev_id > wma->max_bssid) { WMA_LOGE("%s: Invalid vdev_id %d", __func__, resp_event->vdev_id); + vos_mem_free(params); status = -EINVAL; goto free_req_msg; } @@ -2217,6 +2218,7 @@ static int wma_vdev_stop_ind(tp_wma_handle wma, u_int8_t *buf) if (iface->handle == NULL) { WMA_LOGE("%s vdev id %d is already deleted", __func__, resp_event->vdev_id); + vos_mem_free(params); status = -EINVAL; goto free_req_msg; } @@ -12217,6 +12219,7 @@ void wma_vdev_resp_timer(void *data) if (tgt_req->vdev_id > wma->max_bssid) { WMA_LOGE("%s: Invalid vdev_id %d", __func__, tgt_req->vdev_id); + vos_mem_free(params); vos_timer_stop(&tgt_req->event_timeout); goto free_tgt_req; } @@ -12225,6 +12228,7 @@ void wma_vdev_resp_timer(void *data) if (iface->handle == NULL) { WMA_LOGE("%s vdev id %d is already deleted", __func__, tgt_req->vdev_id); + vos_mem_free(params); vos_timer_stop(&tgt_req->event_timeout); goto free_tgt_req; } @@ -12339,6 +12343,7 @@ void wma_vdev_resp_timer(void *data) if (!msg) { WMA_LOGP("%s: Failed to fill vdev request for vdev_id %d", __func__, tgt_req->vdev_id); + vos_mem_free(del_bss_params); goto error0; } @@ -12359,6 +12364,7 @@ void wma_vdev_resp_timer(void *data) if (wmi_unified_vdev_stop_send(wma->wmi_handle, tgt_req->vdev_id)) { WMA_LOGP("%s: %d Failed to send vdev stop", __func__, __LINE__); + vos_mem_free(del_bss_params); wma_remove_vdev_req(wma, tgt_req->vdev_id, WMA_TARGET_REQ_TYPE_VDEV_STOP); goto error0; |
