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

Commit ac1fe6e1 authored by Baowei Liu's avatar Baowei Liu Committed by snandini
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 6417f9d0
Loading
Loading
Loading
Loading
+2 −1
Original line number Original line 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];
		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) {
			if (pipe_info->ce_hdl != ce_diag &&
			    hif_state->started) {
				attr = hif_state->host_ce_config[pipe_num];
				attr = hif_state->host_ce_config[pipe_num];
				if (attr.src_nentries)
				if (attr.src_nentries)
					qdf_spinlock_destroy(&pipe_info->
					qdf_spinlock_destroy(&pipe_info->