Re: [alsa-devel] [PATCH] ASoC: Intel: sof-rt5682: add a check for devm_clk_get

2019-10-17 Thread Pierre-Louis Bossart




On 10/16/19 9:50 PM, Chuhong Yuan wrote:

sof_audio_probe misses a check for devm_clk_get and may cause problems.
Add a check for it to fix the bug.


Indeed this is a miss, we have this test in all machine drivers except 
this one. Thanks for the patch!


Acked-by: Pierre-Louis Bossart 



Signed-off-by: Chuhong Yuan 
---
  sound/soc/intel/boards/sof_rt5682.c | 9 +
  1 file changed, 9 insertions(+)

diff --git a/sound/soc/intel/boards/sof_rt5682.c 
b/sound/soc/intel/boards/sof_rt5682.c
index a437567b8cee..6d15c7ff66bf 100644
--- a/sound/soc/intel/boards/sof_rt5682.c
+++ b/sound/soc/intel/boards/sof_rt5682.c
@@ -576,6 +576,15 @@ static int sof_audio_probe(struct platform_device *pdev)
/* need to get main clock from pmc */
if (sof_rt5682_quirk & SOF_RT5682_MCLK_BYTCHT_EN) {
ctx->mclk = devm_clk_get(>dev, "pmc_plt_clk_3");
+   if (IS_ERR(ctx->mclk)) {
+   ret = PTR_ERR(ctx->mclk);
+
+   dev_err(>dev,
+   "Failed to get MCLK from pmc_plt_clk_3: %d\n",
+   ret);
+   return ret;
+   }
+
ret = clk_prepare_enable(ctx->mclk);
if (ret < 0) {
dev_err(>dev,



[PATCH] ASoC: Intel: sof-rt5682: add a check for devm_clk_get

2019-10-16 Thread Chuhong Yuan
sof_audio_probe misses a check for devm_clk_get and may cause problems.
Add a check for it to fix the bug.

Signed-off-by: Chuhong Yuan 
---
 sound/soc/intel/boards/sof_rt5682.c | 9 +
 1 file changed, 9 insertions(+)

diff --git a/sound/soc/intel/boards/sof_rt5682.c 
b/sound/soc/intel/boards/sof_rt5682.c
index a437567b8cee..6d15c7ff66bf 100644
--- a/sound/soc/intel/boards/sof_rt5682.c
+++ b/sound/soc/intel/boards/sof_rt5682.c
@@ -576,6 +576,15 @@ static int sof_audio_probe(struct platform_device *pdev)
/* need to get main clock from pmc */
if (sof_rt5682_quirk & SOF_RT5682_MCLK_BYTCHT_EN) {
ctx->mclk = devm_clk_get(>dev, "pmc_plt_clk_3");
+   if (IS_ERR(ctx->mclk)) {
+   ret = PTR_ERR(ctx->mclk);
+
+   dev_err(>dev,
+   "Failed to get MCLK from pmc_plt_clk_3: %d\n",
+   ret);
+   return ret;
+   }
+
ret = clk_prepare_enable(ctx->mclk);
if (ret < 0) {
dev_err(>dev,
-- 
2.20.1