ASoC: wm8900: Use WARN_ON() instead of BUG_ON()
authorTakashi Iwai <tiwai@suse.de>
Tue, 5 Nov 2013 17:39:57 +0000 (18:39 +0100)
committerMark Brown <broonie@linaro.org>
Wed, 6 Nov 2013 10:26:57 +0000 (10:26 +0000)
Use WARN_ON() and handle the error cases accordingly.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
sound/soc/codecs/wm8900.c

index 7c8257c5a17ba5f591cd408e63ff2912e7ed49c7..de67e74dca0c0a81a73c5faa32d8faf1eda81937 100644 (file)
@@ -691,7 +691,8 @@ static int fll_factors(struct _fll_div *fll_div, unsigned int Fref,
        unsigned int K, Ndiv, Nmod, target;
        unsigned int div;
 
-       BUG_ON(!Fout);
+       if (WARN_ON(!Fout))
+               return -EINVAL;
 
        /* The FLL must run at 90-100MHz which is then scaled down to
         * the output value by FLLCLK_DIV. */
@@ -742,8 +743,9 @@ static int fll_factors(struct _fll_div *fll_div, unsigned int Fref,
        /* Move down to proper range now rounding is done */
        fll_div->k = K / 10;
 
-       BUG_ON(target != Fout * (fll_div->fllclk_div << 2));
-       BUG_ON(!K && target != Fref * fll_div->fll_ratio * fll_div->n);
+       if (WARN_ON(target != Fout * (fll_div->fllclk_div << 2)) ||
+           WARN_ON(!K && target != Fref * fll_div->fll_ratio * fll_div->n))
+               return -EINVAL;
 
        return 0;
 }