Bladeren bron

qcacld-3.0: Fix memory leak issue

qcacld-2.0 to qcacld-3.0 propagation

Memory should be allocated to radar_event only when radar phy
event needs to be sent to WMA layer.

Add changes to fix memory leak.

CRs-Fixed: 1065466
Change-Id: Ia3e93ddd47913956c27487472b6a70eb68d63fd9
Kapil Gupta 8 jaren geleden
bovenliggende
commit
155748e7b6
1 gewijzigde bestanden met toevoegingen van 6 en 6 verwijderingen
  1. 6 6
      core/wma/src/wma_features.c

+ 6 - 6
core/wma/src/wma_features.c

@@ -7534,12 +7534,6 @@ int wma_dfs_indicate_radar(struct ieee80211com *ic,
 		WMA_LOGE("%s:DFS- Invalid WMA handle", __func__);
 		return -ENOENT;
 	}
-	radar_event = (struct wma_dfs_radar_indication *)
-		      qdf_mem_malloc(sizeof(struct wma_dfs_radar_indication));
-	if (radar_event == NULL) {
-		WMA_LOGE("%s:DFS- Invalid radar_event", __func__);
-		return -ENOMEM;
-	}
 
 	/*
 	 * Do not post multiple Radar events on the same channel.
@@ -7552,6 +7546,12 @@ int wma_dfs_indicate_radar(struct ieee80211com *ic,
 
 	if ((ichan->ic_ieee != (wma->dfs_ic->last_radar_found_chan)) ||
 	    (pmac->sap.SapDfsInfo.disable_dfs_ch_switch == true)) {
+		radar_event = (struct wma_dfs_radar_indication *)
+			qdf_mem_malloc(sizeof(struct wma_dfs_radar_indication));
+		if (radar_event == NULL) {
+			WMA_LOGE(FL("Failed to allocate memory for radar_event"));
+			return -ENOMEM;
+		}
 		wma->dfs_ic->last_radar_found_chan = ichan->ic_ieee;
 		/* Indicate the radar event to HDD to stop the netif Tx queues */
 		wma_radar_event.chan_freq = ichan->ic_freq;