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

Commit 44454d12 authored by Soumya Managoli's avatar Soumya Managoli Committed by Gerrit - the friendly Code Review server
Browse files

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: default avatarSoumya Managoli <smanag@codeaurora.org>
parent 56fe93b3
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
/* 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",