From 75fc36eda06aaa58c19611b3616fbfb9218ed6cd Mon Sep 17 00:00:00 2001 From: Rajeev Kumar Date: Tue, 4 Sep 2018 11:41:10 -0700 Subject: [PATCH] qcacld-3.0: Free apf memory when interpreter is enabled Dynamically allocated apf buffer memory is not freed in error case when interpreter is enabled and leading to memory leak. Free APF buffer memory in case APF interpreter is enabled to avoid memory leak. Change-Id: I012bf80eb6db7b986f812161b48f96b0965c0542 CRs-Fixed: 2308702 --- core/hdd/src/wlan_hdd_apf.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/core/hdd/src/wlan_hdd_apf.c b/core/hdd/src/wlan_hdd_apf.c index a51290aeed94..35111447ef7d 100644 --- a/core/hdd/src/wlan_hdd_apf.c +++ b/core/hdd/src/wlan_hdd_apf.c @@ -506,6 +506,11 @@ static int hdd_apf_read_memory(struct hdd_adapter *adapter, struct nlattr **tb) hdd_enter(); + if (context->apf_enabled) { + hdd_err("Cannot get/set while interpreter is enabled"); + return -EINVAL; + } + read_mem_params.vdev_id = adapter->session_id; /* Read APF work memory offset */ @@ -531,11 +536,6 @@ static int hdd_apf_read_memory(struct hdd_adapter *adapter, struct nlattr **tb) return -ENOMEM; } - if (context->apf_enabled) { - hdd_err("Cannot get/set while interpreter is enabled"); - return -EINVAL; - } - qdf_event_reset(&context->qdf_apf_event); context->offset = read_mem_params.addr_offset;