aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArvind Yadav <arvind.yadav.cs@gmail.com>2017-07-25 06:14:30 -0400
committerMark Brown <broonie@kernel.org>2017-07-26 08:00:24 -0400
commita7ad9a88300c813a945793e9dae84ceaf7809141 (patch)
tree1eed9705ebc28f55d044534cc74ab9d873de7ec5
parent8698475a94d0b7eb21efaa346d507dc4932f2032 (diff)
ASoC: samsung: pcm: Handle return value of clk_prepare_enable.
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>
-rw-r--r--sound/soc/samsung/pcm.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/sound/soc/samsung/pcm.c b/sound/soc/samsung/pcm.c
index d50a6377c23d..37f95eee1558 100644
--- a/sound/soc/samsung/pcm.c
+++ b/sound/soc/samsung/pcm.c
@@ -522,7 +522,9 @@ static int s3c_pcm_dev_probe(struct platform_device *pdev)
522 dev_err(&pdev->dev, "failed to get audio-bus clock\n"); 522 dev_err(&pdev->dev, "failed to get audio-bus clock\n");
523 return PTR_ERR(pcm->cclk); 523 return PTR_ERR(pcm->cclk);
524 } 524 }
525 clk_prepare_enable(pcm->cclk); 525 ret = clk_prepare_enable(pcm->cclk);
526 if (ret)
527 return ret;
526 528
527 /* record our pcm structure for later use in the callbacks */ 529 /* record our pcm structure for later use in the callbacks */
528 dev_set_drvdata(&pdev->dev, pcm); 530 dev_set_drvdata(&pdev->dev, pcm);
@@ -533,7 +535,9 @@ static int s3c_pcm_dev_probe(struct platform_device *pdev)
533 ret = PTR_ERR(pcm->pclk); 535 ret = PTR_ERR(pcm->pclk);
534 goto err_dis_cclk; 536 goto err_dis_cclk;
535 } 537 }
536 clk_prepare_enable(pcm->pclk); 538 ret = clk_prepare_enable(pcm->pclk);
539 if (ret)
540 goto err_dis_cclk;
537 541
538 s3c_pcm_stereo_in[pdev->id].addr = mem_res->start + S3C_PCM_RXFIFO; 542 s3c_pcm_stereo_in[pdev->id].addr = mem_res->start + S3C_PCM_RXFIFO;
539 s3c_pcm_stereo_out[pdev->id].addr = mem_res->start + S3C_PCM_TXFIFO; 543 s3c_pcm_stereo_out[pdev->id].addr = mem_res->start + S3C_PCM_TXFIFO;