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 <smanag@codeaurora.org>
This commit is contained in:
Soumya Managoli 2018-03-07 16:58:18 +05:30 committed by Gerrit - the friendly Code Review server
parent 56fe93b3ca
commit 44454d128a

View file

@ -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",