diff options
| author | Komal Seelam <kseelam@qti.qualcomm.com> | 2014-04-22 17:04:50 +0530 |
|---|---|---|
| committer | Akash Patel <c_akashp@qca.qualcomm.com> | 2014-04-24 22:16:47 -0700 |
| commit | 7cb35ea584c6d94fee0197ec5f4e0175f42e51b6 (patch) | |
| tree | fdaa48414d240d5258b3f7d3b67e3e98e10e2552 | |
| parent | 12a22174103058fedd28db8ff9064166caa3e2b6 (diff) | |
qcacld: HDD: Fix memory leak in case of driver load failure
adf context is not freed when driver load fails.
Fix by freeing adf_ctx when driver load fail.
Change-Id: I9976cc4540353a15063f4eb4905fa89e45a0c5e1
CRs-Fixed: 652190
| -rw-r--r-- | CORE/HDD/src/wlan_hdd_main.c | 6 | ||||
| -rw-r--r-- | CORE/SERVICES/WMA/wma.c | 1 |
2 files changed, 6 insertions, 1 deletions
diff --git a/CORE/HDD/src/wlan_hdd_main.c b/CORE/HDD/src/wlan_hdd_main.c index ef8ea5f2ac66..8a62d25b9ed0 100644 --- a/CORE/HDD/src/wlan_hdd_main.c +++ b/CORE/HDD/src/wlan_hdd_main.c @@ -10826,7 +10826,7 @@ int hdd_wlan_startup(struct device *dev, v_VOID_t *hif_sc) if(pHddCtx->cfg_ini == NULL) { hddLog(VOS_TRACE_LEVEL_FATAL,"%s: Failed kmalloc hdd_config_t",__func__); - goto err_free_hdd_context; + goto err_free_adf_context; } vos_mem_zero(pHddCtx->cfg_ini, sizeof( hdd_config_t )); @@ -11663,6 +11663,10 @@ err_config: kfree(pHddCtx->cfg_ini); pHddCtx->cfg_ini= NULL; +err_free_adf_context: +#ifdef QCA_WIFI_2_0 + vos_mem_free(adf_ctx); +#endif err_free_hdd_context: hdd_allow_suspend(); wiphy_free(wiphy) ; diff --git a/CORE/SERVICES/WMA/wma.c b/CORE/SERVICES/WMA/wma.c index b9bd8a2953b2..4650c082462b 100644 --- a/CORE/SERVICES/WMA/wma.c +++ b/CORE/SERVICES/WMA/wma.c @@ -15971,6 +15971,7 @@ VOS_STATUS wma_mc_process_msg(v_VOID_t *vos_context, vos_msg_t *msg) case WDA_CLI_SET_CMD: wma_process_cli_set_cmd(wma_handle, (wda_cli_set_cmd_t *)msg->bodyptr); + vos_mem_free(msg->bodyptr); break; #if !defined(REMOVE_PKT_LOG) && !defined(QCA_WIFI_ISOC) case WDA_PKTLOG_ENABLE_REQ: |
