diff options
| author | Kiran Kumar Lokere <klokere@codeaurora.org> | 2017-12-05 18:40:52 -0800 |
|---|---|---|
| committer | snandini <snandini@codeaurora.org> | 2017-12-06 00:49:57 -0800 |
| commit | fca1aa3ef33ed4b11c61555c3b850c442f679865 (patch) | |
| tree | f51154959788d05bfc7f9aed629d2b35d340d436 | |
| parent | 4ff78e413d9bc64c2447e31fc9847b8dd20fec5a (diff) | |
qcacld-3.0: Fix the resource leak when Tx complete fails
Fix the resource leakage when Tx completion event is not
received from FW for the Tx management frame
Change-Id: I17eebfeadf6d6be8d41c61c9a1687df57880f9de
CRs-Fixed: 2154060
| -rw-r--r-- | core/wma/src/wma_data.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/core/wma/src/wma_data.c b/core/wma/src/wma_data.c index 5bc0299eb0e4..e29378f6dfe0 100644 --- a/core/wma/src/wma_data.c +++ b/core/wma/src/wma_data.c @@ -2431,14 +2431,19 @@ void wmi_desc_pool_deinit(tp_wma_handle wma_handle) { struct wmi_desc_t *wmi_desc; uint8_t i; + ol_txrx_pdev_handle pdev = cds_get_context(QDF_MODULE_ID_TXRX); qdf_spin_lock_bh(&wma_handle->wmi_desc_pool.wmi_desc_pool_lock); if (wma_handle->wmi_desc_pool.array) { for (i = 0; i < wma_handle->wmi_desc_pool.pool_size; i++) { wmi_desc = (struct wmi_desc_t *) (&wma_handle->wmi_desc_pool.array[i]); - if (wmi_desc && wmi_desc->nbuf) + if (wmi_desc && wmi_desc->nbuf) { + qdf_nbuf_unmap_single(pdev->osdev, + wmi_desc->nbuf, + QDF_DMA_TO_DEVICE); cds_packet_free(wmi_desc->nbuf); + } } qdf_mem_free(wma_handle->wmi_desc_pool.array); wma_handle->wmi_desc_pool.array = NULL; |
