summaryrefslogtreecommitdiffstats
path: root/sound/soc
diff options
context:
space:
mode:
authorShengjiu Wang <shengjiu.wang@nxp.com>2020-04-21 19:28:45 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2020-05-02 08:48:45 +0200
commit1157d97cfa2b2244978f58c0fd0ca879ded904d7 (patch)
tree9f80db2312b155cadd08c2c571d622b9059d81c5 /sound/soc
parent005aa9f0af9d600d3c8fa655a4aa48e4ec7c5b9d (diff)
downloadlinux-stable-1157d97cfa2b2244978f58c0fd0ca879ded904d7.tar.gz
linux-stable-1157d97cfa2b2244978f58c0fd0ca879ded904d7.tar.bz2
linux-stable-1157d97cfa2b2244978f58c0fd0ca879ded904d7.zip
ASoC: wm8960: Fix wrong clock after suspend & resume
commit 1e060a453c8604311fb45ae2f84f67ed673329b4 upstream. After suspend & resume, wm8960_hw_params may be called when bias_level is not SND_SOC_BIAS_ON, then wm8960_configure_clocking is not called. But if sample rate is changed at that time, then the output clock rate will be not correct. So judgement of bias_level is SND_SOC_BIAS_ON in wm8960_hw_params is not necessary and it causes above issue. Fixes: 3176bf2d7ccd ("ASoC: wm8960: update pll and clock setting function") Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com> Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://lore.kernel.org/r/1587468525-27514-1-git-send-email-shengjiu.wang@nxp.com Signed-off-by: Mark Brown <broonie@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'sound/soc')
-rw-r--r--sound/soc/codecs/wm8960.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/sound/soc/codecs/wm8960.c b/sound/soc/codecs/wm8960.c
index 55112c1bba5e..6cf0f6612bda 100644
--- a/sound/soc/codecs/wm8960.c
+++ b/sound/soc/codecs/wm8960.c
@@ -860,8 +860,7 @@ static int wm8960_hw_params(struct snd_pcm_substream *substream,
wm8960->is_stream_in_use[tx] = true;
- if (snd_soc_component_get_bias_level(component) == SND_SOC_BIAS_ON &&
- !wm8960->is_stream_in_use[!tx])
+ if (!wm8960->is_stream_in_use[!tx])
return wm8960_configure_clocking(component);
return 0;