diff options
author | Shengjiu Wang <shengjiu.wang@nxp.com> | 2020-06-23 08:01:12 +0200 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2020-06-23 12:14:22 +0200 |
commit | 15217d170a4461c1d4c1ea7c497e1fc1122e42a9 (patch) | |
tree | 93eb9280219cd150401519b4b1fbc2127c9768a8 | |
parent | ASoC: fsl_mqs: Don't check clock is NULL before calling clk API (diff) | |
download | linux-15217d170a4461c1d4c1ea7c497e1fc1122e42a9.tar.xz linux-15217d170a4461c1d4c1ea7c497e1fc1122e42a9.zip |
ASoC: fsl_mqs: Fix unchecked return value for clk_prepare_enable
Fix unchecked return value for clk_prepare_enable, add error
handler in fsl_mqs_runtime_resume.
Fixes: 9e28f6532c61 ("ASoC: fsl_mqs: Add MQS component driver")
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Acked-by: Nicolin Chen <nicoleotsuka@gmail.com>
Link: https://lore.kernel.org/r/5edd68d03def367d96268f1a9a00bd528ea5aaf2.1592888591.git.shengjiu.wang@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r-- | sound/soc/fsl/fsl_mqs.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/sound/soc/fsl/fsl_mqs.c b/sound/soc/fsl/fsl_mqs.c index b44b134390a3..69aeb0e71844 100644 --- a/sound/soc/fsl/fsl_mqs.c +++ b/sound/soc/fsl/fsl_mqs.c @@ -265,10 +265,20 @@ static int fsl_mqs_remove(struct platform_device *pdev) static int fsl_mqs_runtime_resume(struct device *dev) { struct fsl_mqs *mqs_priv = dev_get_drvdata(dev); + int ret; - clk_prepare_enable(mqs_priv->ipg); + ret = clk_prepare_enable(mqs_priv->ipg); + if (ret) { + dev_err(dev, "failed to enable ipg clock\n"); + return ret; + } - clk_prepare_enable(mqs_priv->mclk); + ret = clk_prepare_enable(mqs_priv->mclk); + if (ret) { + dev_err(dev, "failed to enable mclk clock\n"); + clk_disable_unprepare(mqs_priv->ipg); + return ret; + } if (mqs_priv->use_gpr) regmap_write(mqs_priv->regmap, IOMUXC_GPR2, |