Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1dbf76de authored by Baowei Liu's avatar Baowei Liu Committed by Gerrit - the friendly Code Review server
Browse files

qcacmn: Don't destroy uncreated completion_freeq_lock

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

Change-Id: Id6aae8024fe9df2ac6cf7976047ebd7a850438e4
parent 9c063d5b
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -2766,7 +2766,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->