From 44454d128abc26b3507619f59a6bdcb8dd197c8c Mon Sep 17 00:00:00 2001 From: Soumya Managoli Date: Wed, 7 Mar 2018 16:58:18 +0530 Subject: [PATCH] ASoC: sdm660: fix clock refcount for MI2S shutdown For MI2S shutdown, if clock disable fails, do not increment clock reference. Otherwise, next time when startup is called, clock enable will not be called again, so use case will not work. CRs-Fixed: 2200021 Change-Id: Ic1b6f238e55a58ca1993049468cf13f13d80b9f4 Signed-off-by: Soumya Managoli --- sound/soc/msm/sdm660-common.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/sound/soc/msm/sdm660-common.c b/sound/soc/msm/sdm660-common.c index 90b661dff7ec..271697747dd2 100644 --- a/sound/soc/msm/sdm660-common.c +++ b/sound/soc/msm/sdm660-common.c @@ -1,4 +1,4 @@ -/* Copyright (c) 2015-2017, The Linux Foundation. All rights reserved. +/* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and @@ -2552,11 +2552,9 @@ 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++; - } if (mi2s_intf_conf[index].msm_is_ext_mclk) { mi2s_mclk[index].enable = 0; pr_debug("%s: Disabling mclk, clk_freq_in_hz = %u\n",