ASoC: max98090: Check for clk_prepare_enable() error
authorFabio Estevam <fabio.estevam@freescale.com>
Sat, 20 Jun 2015 18:55:50 +0000 (15:55 -0300)
committerMark Brown <broonie@kernel.org>
Tue, 7 Jul 2015 17:24:32 +0000 (18:24 +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/max98090.c

index 78268f0514e95073e8b2006d4e2822a482fb6d3b..1697340c384294fd925f795b2bee728a27327d9c 100644 (file)
@@ -1801,10 +1801,13 @@ static int max98090_set_bias_level(struct snd_soc_codec *codec,
                if (IS_ERR(max98090->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(max98090->mclk);
-               else
-                       clk_prepare_enable(max98090->mclk);
+               } else {
+                       ret = clk_prepare_enable(max98090->mclk);
+                       if (ret)
+                               return ret;
+               }
                break;
 
        case SND_SOC_BIAS_STANDBY: