From 24cc9e05c834c8602ae7bb8788e253cc2c396149 Mon Sep 17 00:00:00 2001 From: Yue Ma Date: Tue, 12 Jan 2016 18:43:54 -0800 Subject: [PATCH] qcacld-3.0: Fix potential memory leaks in SSR qcacld-2.0 to qcacld-3.0 propagation During SSR, since VDEV detach won't happen, some contexts saved in VDEV may not get a chance to be freed. Add change to check these contexts in SSR shutdown routine to make sure they are freed. Change-Id: I36d12b3bb524ca107ece2441c1dc1d80293cb31b CRs-fixed: 957587 --- core/wma/src/wma_main.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/core/wma/src/wma_main.c b/core/wma/src/wma_main.c index 26b633515483..95cc3aa87e29 100644 --- a/core/wma/src/wma_main.c +++ b/core/wma/src/wma_main.c @@ -2951,6 +2951,17 @@ CDF_STATUS wma_wmi_service_close(void *cds_ctx) cdf_mem_free(wma_handle->interfaces[i].handle); wma_handle->interfaces[i].handle = NULL; } + + if (wma_handle->interfaces[i].addBssStaContext) { + cdf_mem_free(wma_handle-> + interfaces[i].addBssStaContext); + wma_handle->interfaces[i].addBssStaContext = NULL; + } + + if (wma_handle->interfaces[i].del_staself_req) { + cdf_mem_free(wma_handle->interfaces[i].del_staself_req); + wma_handle->interfaces[i].del_staself_req = NULL; + } } cdf_mem_free(wma_handle->interfaces);