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
This commit is contained in:
Kapil Gupta
2016-10-01 13:20:20 +05:30
committed by qcabuildsw
parent def4fddd4f
commit 155748e7b6

View File

@@ -7534,12 +7534,6 @@ int wma_dfs_indicate_radar(struct ieee80211com *ic,
WMA_LOGE("%s:DFS- Invalid WMA handle", __func__); WMA_LOGE("%s:DFS- Invalid WMA handle", __func__);
return -ENOENT; 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. * 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)) || if ((ichan->ic_ieee != (wma->dfs_ic->last_radar_found_chan)) ||
(pmac->sap.SapDfsInfo.disable_dfs_ch_switch == true)) { (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; wma->dfs_ic->last_radar_found_chan = ichan->ic_ieee;
/* Indicate the radar event to HDD to stop the netif Tx queues */ /* Indicate the radar event to HDD to stop the netif Tx queues */
wma_radar_event.chan_freq = ichan->ic_freq; wma_radar_event.chan_freq = ichan->ic_freq;