ASoC: samsung: pcm: Handle return value of clk_prepare_enable.
authorArvind Yadav <arvind.yadav.cs@gmail.com>
Tue, 25 Jul 2017 10:14:30 +0000 (15:44 +0530)
committerMark Brown <broonie@kernel.org>
Wed, 26 Jul 2017 12:00:24 +0000 (13:00 +0100)
clk_prepare_enable() can fail here and we must check its return value.

Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com>
Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/samsung/pcm.c

index d50a637..37f95ee 100644 (file)
@@ -522,7 +522,9 @@ static int s3c_pcm_dev_probe(struct platform_device *pdev)
                dev_err(&pdev->dev, "failed to get audio-bus clock\n");
                return PTR_ERR(pcm->cclk);
        }
-       clk_prepare_enable(pcm->cclk);
+       ret = clk_prepare_enable(pcm->cclk);
+       if (ret)
+               return ret;
 
        /* record our pcm structure for later use in the callbacks */
        dev_set_drvdata(&pdev->dev, pcm);
@@ -533,7 +535,9 @@ static int s3c_pcm_dev_probe(struct platform_device *pdev)
                ret = PTR_ERR(pcm->pclk);
                goto err_dis_cclk;
        }
-       clk_prepare_enable(pcm->pclk);
+       ret = clk_prepare_enable(pcm->pclk);
+       if (ret)
+               goto err_dis_cclk;
 
        s3c_pcm_stereo_in[pdev->id].addr = mem_res->start + S3C_PCM_RXFIFO;
        s3c_pcm_stereo_out[pdev->id].addr = mem_res->start + S3C_PCM_TXFIFO;