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

Commit f6853a20 authored by Xiaoyu Ye's avatar Xiaoyu Ye Committed by Gerrit - the friendly Code Review server
Browse files

ASoC: sdm845: fix clock refcount for MI2S/AUXPCM shutdown



For MI2S and AUXPCM shutdown, if clock disable is failed,
do not bother to re-increment clock reference. Otherwise,
next time when startup is called, clock enable will not
be called again, so use case will not work.

Change-Id: I5ce4590d2a2030f9d00f1dba9577396f7685a87b
Signed-off-by: default avatarBanajit Goswami <bgoswami@codeaurora.org>
Signed-off-by: default avatarXiaoyu Ye <benyxy@codeaurora.org>
parent 7cb56be5
Loading
Loading
Loading
Loading
+1 −4
Original line number Diff line number Diff line
@@ -4153,7 +4153,6 @@ static void msm_aux_pcm_snd_shutdown(struct snd_pcm_substream *substream)
			dev_err(rtd->card->dev,
				"%s lpaif_tert_muxsel_virt_addr is NULL\n",
				__func__);
			auxpcm_intf_conf[index].ref_cnt++;
		}
	}
	mutex_unlock(&auxpcm_intf_conf[index].lock);
@@ -4715,11 +4714,9 @@ static void msm_mi2s_snd_shutdown(struct snd_pcm_substream *substream)
	mutex_lock(&mi2s_intf_conf[index].lock);
	if (--mi2s_intf_conf[index].ref_cnt == 0) {
		ret = msm_mi2s_set_sclk(substream, false);
		if (ret < 0) {
		if (ret < 0)
			pr_err("%s:clock disable failed for MI2S (%d); ret=%d\n",
				__func__, index, ret);
			mi2s_intf_conf[index].ref_cnt++;
		}
	}
	mutex_unlock(&mi2s_intf_conf[index].lock);