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
This commit is contained in:
Poddar, Siddarth
2017-07-19 15:18:28 +05:30
committed by snandini
parent f70f991f45
commit 725e9f5a0d
4 changed files with 13 additions and 1 deletions

View File

@@ -2134,12 +2134,21 @@ void hif_ce_stop(struct hif_softc *scn)
for (pipe_num = 0; pipe_num < scn->ce_count; pipe_num++) { for (pipe_num = 0; pipe_num < scn->ce_count; pipe_num++) {
struct HIF_CE_pipe_info *pipe_info; 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]; pipe_info = &hif_state->pipe_info[pipe_num];
if (pipe_info->ce_hdl) { if (pipe_info->ce_hdl) {
if (pipe_info->ce_hdl != ce_diag) {
attr = hif_state->host_ce_config[pipe_num];
if (attr.src_nentries)
qdf_spinlock_destroy(&pipe_info->
completion_freeq_lock);
}
ce_fini(pipe_info->ce_hdl); ce_fini(pipe_info->ce_hdl);
pipe_info->ce_hdl = NULL; pipe_info->ce_hdl = NULL;
pipe_info->buf_sz = 0; pipe_info->buf_sz = 0;
qdf_spinlock_destroy(&pipe_info->recv_bufs_needed_lock);
} }
} }
@@ -2382,6 +2391,7 @@ void hif_ce_close(struct hif_softc *hif_sc)
struct HIF_CE_state *hif_state = HIF_GET_CE_STATE(hif_sc); struct HIF_CE_state *hif_state = HIF_GET_CE_STATE(hif_sc);
qdf_spinlock_destroy(&hif_state->irq_reg_lock); qdf_spinlock_destroy(&hif_state->irq_reg_lock);
qdf_spinlock_destroy(&hif_state->keep_awake_lock);
} }
/** /**

View File

@@ -819,7 +819,7 @@ void qdf_lock_stats_deinit(void)
qdf_spinlock_destroy(&qdf_lock_list_spinlock); qdf_spinlock_destroy(&qdf_lock_list_spinlock);
for (i = 0; i < QDF_LOCK_STATS_LIST_SIZE; i++) { for (i = 0; i < QDF_LOCK_STATS_LIST_SIZE; i++) {
if (!qdf_is_lock_cookie_free(&lock_cookies[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", "%s: lock_not_destroyed, fun: %s, line %d",
__func__, lock_cookies[i].u.cookie.func, __func__, lock_cookies[i].u.cookie.func,
lock_cookies[i].u.cookie.line); lock_cookies[i].u.cookie.line);

View File

@@ -216,6 +216,7 @@ void qdf_mc_timer_manager_exit(void)
{ {
qdf_timer_clean(); qdf_timer_clean();
qdf_list_destroy(&qdf_timer_list); qdf_list_destroy(&qdf_timer_list);
qdf_spinlock_destroy(&qdf_timer_list_lock);
} }
EXPORT_SYMBOL(qdf_mc_timer_manager_exit); EXPORT_SYMBOL(qdf_mc_timer_manager_exit);
#endif #endif

View File

@@ -929,6 +929,7 @@ static void qdf_mem_debug_exit(void)
qdf_net_buf_debug_exit(); qdf_net_buf_debug_exit();
qdf_mem_debug_clean(); qdf_mem_debug_clean();
qdf_list_destroy(&qdf_mem_list); qdf_list_destroy(&qdf_mem_list);
qdf_spinlock_destroy(&qdf_mem_list_lock);
} }
/** /**