Browse Source

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 years ago
parent
commit
6137112630
1 changed files with 1 additions and 1 deletions
  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 wm8962_priv *wm8962 = snd_soc_codec_get_drvdata(codec);
 	struct _fll_div fll_div;
 	struct _fll_div fll_div;
 	int ret;
 	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? */
 	/* Any change? */
 	if (source == wm8962->fll_src && Fref == wm8962->fll_fref &&
 	if (source == wm8962->fll_src && Fref == wm8962->fll_fref &&