From f6853a20103634a18044d8c38e9769e66d9f01d4 Mon Sep 17 00:00:00 2001 From: Xiaoyu Ye Date: Tue, 31 Oct 2017 18:44:16 -0700 Subject: [PATCH] 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: Banajit Goswami Signed-off-by: Xiaoyu Ye --- asoc/sdm845.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/asoc/sdm845.c b/asoc/sdm845.c index f8c044401617..ed854e217ea2 100644 --- a/asoc/sdm845.c +++ b/asoc/sdm845.c @@ -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);