qcacld-3.0: Allocate memory for cds config only once
During the driver load cds_cfg memory is allocated during the
hdd_Wlan_startup and cds_open. Since the memory allocated by the
cds_open overwrites the pointer of memory allocated by hdd_wlan_statup
during memory free only memory allocated by cds_open is freed resulting
in memory leakage.
To migitate this issue, allocate the memory for the cds config only once.
Change-Id: I01bf0e8110a2519a2e11da398be3c98f9ca4db8f
CRs-Fixed: 1055648
diff --git a/core/hdd/src/wlan_hdd_main.c b/core/hdd/src/wlan_hdd_main.c
index 2a0510c..c9251c4 100644
--- a/core/hdd/src/wlan_hdd_main.c
+++ b/core/hdd/src/wlan_hdd_main.c
@@ -1731,6 +1731,12 @@
goto hif_close;
}
+ ret = hdd_update_config(hdd_ctx);
+ if (ret) {
+ hdd_err("Failed to update configuration :%d", ret);
+ goto ol_cds_free;
+ }
+
status = cds_open();
if (!QDF_IS_STATUS_SUCCESS(status)) {
hdd_err("Failed to Open CDS: %d", status);
@@ -7384,10 +7390,6 @@
hdd_wlan_green_ap_init(hdd_ctx);
- ret = hdd_update_config(hdd_ctx);
- if (ret)
- goto err_exit_nl_srv;
-
ret = hdd_wlan_start_modules(hdd_ctx, adapter, false);
if (ret) {
hdd_alert("Failed to start modules: %d", ret);