summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHimanshu Agarwal <himanaga@codeaurora.org>2017-03-24 15:27:29 +0530
committerSandeep Puligilla <spuligil@codeaurora.org>2017-03-27 04:36:24 -0700
commita7f9b3f416fda918079cc1613737d0c63fa99f10 (patch)
tree6e941e3b91cccedc201cdb66711f176d969aa84d
parentc2b963a3cf7bb7f0ea179455f3b5623c0dc44b7d (diff)
qcacld-3.0: Free memory and destroy spinlock in failure cond
Free memory allocated in ol_tx_desc_dup_detect_init() and spinlock created in ol_txrx_pdev_post_attach() in case of failure condiiton. Change-Id: I7e3909622e5b63af2d20c2c8cc0a8cc4350e4085 CRs-Fixed: 2024377
-rw-r--r--core/dp/txrx/ol_txrx.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/core/dp/txrx/ol_txrx.c b/core/dp/txrx/ol_txrx.c
index 0f19a2e81c54..a20f4783b02b 100644
--- a/core/dp/txrx/ol_txrx.c
+++ b/core/dp/txrx/ol_txrx.c
@@ -1300,7 +1300,7 @@ ol_txrx_pdev_post_attach(ol_txrx_pdev_handle pdev)
ret = htt_attach(pdev->htt_pdev, desc_pool_size);
if (ret)
- goto ol_attach_fail;
+ goto htt_attach_fail;
/* Attach micro controller data path offload resource */
if (ol_cfg_ipa_uc_offload_enabled(pdev->ctrl_pdev)) {
@@ -1701,6 +1701,7 @@ reorder_trace_attach_fail:
qdf_spinlock_destroy(&pdev->peer_ref_mutex);
qdf_spinlock_destroy(&pdev->rx.mutex);
qdf_spinlock_destroy(&pdev->last_real_peer_mutex);
+ qdf_spinlock_destroy(&pdev->peer_map_unmap_lock);
OL_TXRX_PEER_STATS_MUTEX_DESTROY(pdev);
control_init_fail:
@@ -1717,7 +1718,8 @@ page_alloc_fail:
htt_ipa_uc_detach(pdev->htt_pdev);
uc_attach_fail:
htt_detach(pdev->htt_pdev);
-
+htt_attach_fail:
+ ol_tx_desc_dup_detect_deinit(pdev);
ol_attach_fail:
return ret; /* fail */
}