summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHsiu-Chang Chen <hsiuchangchen@google.com>2020-03-25 15:16:06 +0800
committerHsiu-Chang Chen <hsiuchangchen@google.com>2023-07-23 22:07:18 +0800
commit1981f47eabc7c8d2a6632bec12c04367ab41c3e2 (patch)
treea5dfe70fff7c9148fa25710e2c4fb1602e90e5bc
parent8de2c27c419e4a5d0ec6c540c020e0ad00fc1e33 (diff)
downloadqca-wfi-host-cmn-android-msm-redbull-4.19-android14-qpr2.tar.gz
Sometimes, BMI download FW fail, cause destroy this uncreated spinlock. Because fw download fail, hif_start() not called, so &pipe_info->completion_freeq_lock not be created.But hif_ce_stop() call qdf_spinlock_destroy(&pipe_info->completion_freeq_lock);Cause WLAN Panic @ qdf_lock_stats_cookie_destroy:824: Lock destroyed twice or never created hif_state->started be set to true in hif_start( )This fixes use hif_state->started to judge hif_start() be called or not.If false, hif_start() not be called, so needn’t destroy uncreated completion_freeq_lock Bug: 283948235 Test: Regression Test CRs-Fixed: 2648188 Change-Id: Id6aae8024fe9df2ac6cf7976047ebd7a850438e4 Signed-off-by: Hsiu-Chang Chen <hsiuchangchen@google.com>
-rw-r--r--hif/src/ce/ce_main.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/hif/src/ce/ce_main.c b/hif/src/ce/ce_main.c
index f4fe98b8b..599169022 100644
--- a/hif/src/ce/ce_main.c
+++ b/hif/src/ce/ce_main.c
@@ -2673,7 +2673,8 @@ void hif_ce_stop(struct hif_softc *scn)
pipe_info = &hif_state->pipe_info[pipe_num];
if (pipe_info->ce_hdl) {
- if (pipe_info->ce_hdl != ce_diag) {
+ if (pipe_info->ce_hdl != ce_diag &&
+ hif_state->started) {
attr = hif_state->host_ce_config[pipe_num];
if (attr.src_nentries)
qdf_spinlock_destroy(&pipe_info->