ASoC: max98095: Check for clk_prepare_enable() error
authorFabio Estevam <fabio.estevam@freescale.com>
Sat, 20 Jun 2015 18:55:53 +0000 (15:55 -0300)
committerMark Brown <broonie@kernel.org>
Wed, 8 Jul 2015 18:09:30 +0000 (19:09 +0100)
clk_prepare_enable() may fail, so we should better check its return value
and propagate it in the case of error.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/max98095.c

index 9a46d3dcf7035d781d132c453dcddafc92e15047..66afd2b781e9cff681a3f9d4bd07256caecf095c 100644 (file)
@@ -1653,10 +1653,13 @@ static int max98095_set_bias_level(struct snd_soc_codec *codec,
                if (IS_ERR(max98095->mclk))
                        break;
 
-               if (snd_soc_codec_get_bias_level(codec) == SND_SOC_BIAS_ON)
+               if (snd_soc_codec_get_bias_level(codec) == SND_SOC_BIAS_ON) {
                        clk_disable_unprepare(max98095->mclk);
-               else
-                       clk_prepare_enable(max98095->mclk);
+               } else {
+                       ret = clk_prepare_enable(max98095->mclk);
+                       if (ret)
+                               return ret;
+               }
                break;
 
        case SND_SOC_BIAS_STANDBY: