ASoC: Intel: sof-rt5682: add a check for devm_clk_get
diff mbox series

Message ID 20191017025044.31474-1-hslester96@gmail.com
State Accepted
Commit e5f0d490fb718254a884453e47fcd48493cd67ea
Headers show
Series
  • ASoC: Intel: sof-rt5682: add a check for devm_clk_get
Related show

Commit Message

Chuhong Yuan Oct. 17, 2019, 2:50 a.m. UTC
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 <hslester96@gmail.com>
---
 sound/soc/intel/boards/sof_rt5682.c | 9 +++++++++
 1 file changed, 9 insertions(+)

Comments

Pierre-Louis Bossart Oct. 17, 2019, 1:16 p.m. UTC | #1
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 <pierre-louis.bossart@linux.intel.com>

> 
> Signed-off-by: Chuhong Yuan <hslester96@gmail.com>
> ---
>   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(&pdev->dev, "pmc_plt_clk_3");
> +		if (IS_ERR(ctx->mclk)) {
> +			ret = PTR_ERR(ctx->mclk);
> +
> +			dev_err(&pdev->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(&pdev->dev,
>

Patch
diff mbox series

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(&pdev->dev, "pmc_plt_clk_3");
+		if (IS_ERR(ctx->mclk)) {
+			ret = PTR_ERR(ctx->mclk);
+
+			dev_err(&pdev->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(&pdev->dev,