浏览代码

ASoC: Fix masking of WM8962 FLL1 register

When configuring the FLL we preserve the FLL enable configuration in order
to allow us to reenable the FLL after configuration but we do not clear
the other bits in the register, causing old configuration to be preserved.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Mark Brown 14 年之前
父节点
当前提交
6137112630
共有 1 个文件被更改,包括 1 次插入1 次删除
  1. 1 1
      sound/soc/codecs/wm8962.c

+ 1 - 1
sound/soc/codecs/wm8962.c

@@ -1342,7 +1342,7 @@ static int wm8962_set_fll(struct snd_soc_dai *dai, int fll_id, int source,
 	struct wm8962_priv *wm8962 = snd_soc_codec_get_drvdata(codec);
 	struct _fll_div fll_div;
 	int ret;
-	int fll1 = snd_soc_read(codec, WM8962_FLL_CONTROL_1);
+	int fll1 = snd_soc_read(codec, WM8962_FLL_CONTROL_1) & WM8962_FLL_ENA;
 
 	/* Any change? */
 	if (source == wm8962->fll_src && Fref == wm8962->fll_fref &&