Browse Source

ASoC: max98095: Check for clk_prepare_enable() error

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>
Fabio Estevam 10 years ago
parent
commit
402f2a4f80
1 changed files with 6 additions and 3 deletions
  1. 6 3
      sound/soc/codecs/max98095.c

+ 6 - 3
sound/soc/codecs/max98095.c

@@ -1653,10 +1653,13 @@ static int max98095_set_bias_level(struct snd_soc_codec *codec,
 		if (IS_ERR(max98095->mclk))
 		if (IS_ERR(max98095->mclk))
 			break;
 			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);
 			clk_disable_unprepare(max98095->mclk);
-		else
-			clk_prepare_enable(max98095->mclk);
+		} else {
+			ret = clk_prepare_enable(max98095->mclk);
+			if (ret)
+				return ret;
+		}
 		break;
 		break;
 
 
 	case SND_SOC_BIAS_STANDBY:
 	case SND_SOC_BIAS_STANDBY: