qcacld-3.0: Process radio stats events inside lock

Currently host driver processes radio stats events with
scheduler thread without any lock and invokes hdd callback.
In hdd these stats gets handled in user space thread and after
processing stats, user space thread frees the memory allocated
in wma. Since one thread allocates the memory and other
thread frees the memory, this can lead to race conditions where
this memory might not get freed and mem leak can happen.

With this change add locking mechanism to allocate, use and to
free the memory.

Change-Id: I95906133bb2208a258c5cec16f4f01b1321ed0c2
CRs-Fixed: 3020218
This commit is contained in:
Ashish Kumar Dhanotiya
2021-08-30 17:55:54 +05:30
gecommit door Madan Koyyalamudi
bovenliggende ec1b963bb9
commit 8215f877a9
4 gewijzigde bestanden met toevoegingen van 111 en 35 verwijderingen

Bestand weergeven

@@ -1014,6 +1014,7 @@ typedef struct {
ol_txrx_pktdump_cb wma_mgmt_rx_packetdump_cb;
bool rcpi_enabled;
tSirLLStatsResults *link_stats_results;
qdf_mutex_t radio_stats_lock;
uint64_t tx_fail_cnt;
#ifdef FEATURE_WLM_STATS
struct wma_wlm_stats_data wlm_data;