summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPoddar, Siddarth <siddpodd@codeaurora.org>2017-07-19 15:18:28 +0530
committersnandini <snandini@codeaurora.org>2017-08-09 02:46:26 -0700
commitdc74eb877a5fb3ca838b0730d826946cbfb00f4f (patch)
tree3fb2c2743e90a03cbd643f2102b6f2582cbeb364
parentc81c2fb48cfd1a0abaca1f4262bc15f020c1a04b (diff)
qcacmn: Add missing qdf_spinlock_destroy() to free debug cookie
Add missing qdf_spinlock_destroy() to destroy spin lock debug cookie for SLUB build. For normal builds, qdf_spinlock_destroy() is a NO-OP function. Change-Id: If5a3843a468e460952dc64f0e6b5b1fba05ebbb3 CRs-Fixed: 2078940
-rw-r--r--hif/src/ce/ce_main.c12
-rw-r--r--qdf/linux/src/qdf_lock.c2
-rw-r--r--qdf/linux/src/qdf_mc_timer.c1
-rw-r--r--qdf/linux/src/qdf_mem.c1
4 files changed, 15 insertions, 1 deletions
diff --git a/hif/src/ce/ce_main.c b/hif/src/ce/ce_main.c
index 9af197bfcc52..6aa5d92955cf 100644
--- a/hif/src/ce/ce_main.c
+++ b/hif/src/ce/ce_main.c
@@ -2083,12 +2083,21 @@ void hif_ce_stop(struct hif_softc *scn)
for (pipe_num = 0; pipe_num < scn->ce_count; pipe_num++) {
struct HIF_CE_pipe_info *pipe_info;
+ struct CE_attr attr;
+ struct CE_handle *ce_diag = hif_state->ce_diag;
pipe_info = &hif_state->pipe_info[pipe_num];
if (pipe_info->ce_hdl) {
+ if (pipe_info->ce_hdl != ce_diag) {
+ attr = host_ce_config[pipe_num];
+ if (attr.src_nentries)
+ qdf_spinlock_destroy(&pipe_info->
+ completion_freeq_lock);
+ }
ce_fini(pipe_info->ce_hdl);
pipe_info->ce_hdl = NULL;
pipe_info->buf_sz = 0;
+ qdf_spinlock_destroy(&pipe_info->recv_bufs_needed_lock);
}
}
@@ -2286,7 +2295,10 @@ QDF_STATUS hif_ce_open(struct hif_softc *hif_sc)
*/
void hif_ce_close(struct hif_softc *hif_sc)
{
+ struct HIF_CE_state *hif_state = HIF_GET_CE_STATE(hif_sc);
+
hif_clear_rri_on_ddr(hif_sc);
+ qdf_spinlock_destroy(&hif_state->keep_awake_lock);
}
/**
diff --git a/qdf/linux/src/qdf_lock.c b/qdf/linux/src/qdf_lock.c
index aaf68ed2dc07..85168cdb4b7f 100644
--- a/qdf/linux/src/qdf_lock.c
+++ b/qdf/linux/src/qdf_lock.c
@@ -784,7 +784,7 @@ void qdf_lock_stats_deinit(void)
qdf_spinlock_destroy(&qdf_lock_list_spinlock);
for (i = 0; i < QDF_LOCK_STATS_LIST_SIZE; i++) {
if (!qdf_is_lock_cookie_free(&lock_cookies[i]))
- QDF_TRACE(QDF_MODULE_ID_QDF, QDF_TRACE_LEVEL_ERROR,
+ QDF_TRACE(QDF_MODULE_ID_QDF, QDF_TRACE_LEVEL_DEBUG,
"%s: lock_not_destroyed, fun: %s, line %d",
__func__, lock_cookies[i].u.cookie.func,
lock_cookies[i].u.cookie.line);
diff --git a/qdf/linux/src/qdf_mc_timer.c b/qdf/linux/src/qdf_mc_timer.c
index c6f694a9ee92..1543c4d2ac86 100644
--- a/qdf/linux/src/qdf_mc_timer.c
+++ b/qdf/linux/src/qdf_mc_timer.c
@@ -194,6 +194,7 @@ void qdf_mc_timer_manager_exit(void)
{
qdf_timer_clean();
qdf_list_destroy(&qdf_timer_list);
+ qdf_spinlock_destroy(&qdf_timer_list_lock);
}
qdf_export_symbol(qdf_mc_timer_manager_exit);
#endif
diff --git a/qdf/linux/src/qdf_mem.c b/qdf/linux/src/qdf_mem.c
index a16947b55fa9..26ffdf6508da 100644
--- a/qdf/linux/src/qdf_mem.c
+++ b/qdf/linux/src/qdf_mem.c
@@ -931,6 +931,7 @@ static void qdf_mem_debug_exit(void)
qdf_net_buf_debug_exit();
qdf_mem_debug_clean();
qdf_list_destroy(&qdf_mem_list);
+ qdf_spinlock_destroy(&qdf_mem_list_lock);
}
/**