ASoC: wm8962: Unconditionally wait for the FLL to lock
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Wed, 12 Dec 2012 02:28:01 +0000 (11:28 +0900)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Mon, 24 Dec 2012 15:38:10 +0000 (15:38 +0000)
If the FLL is being shut down we will exit early so there is no need to
check here and in fact we're checking the wrong thing anyway.

Reported-by: Graeme Gregory <gg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
sound/soc/codecs/wm8962.c

index 0b36803..e971028 100644 (file)
@@ -2873,22 +2873,20 @@ static int wm8962_set_fll(struct snd_soc_codec *codec, int fll_id, int source,
 
        ret = 0;
 
-       if (fll1 & WM8962_FLL_ENA) {
-               /* This should be a massive overestimate but go even
-                * higher if we'll error out
-                */
-               if (wm8962->irq)
-                       timeout = msecs_to_jiffies(5);
-               else
-                       timeout = msecs_to_jiffies(1);
+       /* This should be a massive overestimate but go even
+        * higher if we'll error out
+        */
+       if (wm8962->irq)
+               timeout = msecs_to_jiffies(5);
+       else
+               timeout = msecs_to_jiffies(1);
 
-               timeout = wait_for_completion_timeout(&wm8962->fll_lock,
-                                                     timeout);
+       timeout = wait_for_completion_timeout(&wm8962->fll_lock,
+                                             timeout);
 
-               if (timeout == 0 && wm8962->irq) {
-                       dev_err(codec->dev, "FLL lock timed out");
-                       ret = -ETIMEDOUT;
-               }
+       if (timeout == 0 && wm8962->irq) {
+               dev_err(codec->dev, "FLL lock timed out");
+               ret = -ETIMEDOUT;
        }
 
        wm8962->fll_fref = Fref;