[1/2,media] coda: Check the return value from clk_prepare_enable()

Message ID 1374346129-12907-1-git-send-email-festevam@gmail.com (mailing list archive)
State Superseded, archived
Headers

Commit Message

Fabio Estevam July 20, 2013, 6:48 p.m. UTC
  From: Fabio Estevam <fabio.estevam@freescale.com>

clk_prepare_enable() may fail, so let's check its return value and propagate it
in the case of error.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
---
 drivers/media/platform/coda.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)
  

Patch

diff --git a/drivers/media/platform/coda.c b/drivers/media/platform/coda.c
index df4ada88..dd76228 100644
--- a/drivers/media/platform/coda.c
+++ b/drivers/media/platform/coda.c
@@ -1559,14 +1559,20 @@  static int coda_open(struct file *file)
 	list_add(&ctx->list, &dev->instances);
 	coda_unlock(ctx);
 
-	clk_prepare_enable(dev->clk_per);
-	clk_prepare_enable(dev->clk_ahb);
+	ret = clk_prepare_enable(dev->clk_per);
+	if (ret)
+		goto err;
+
+	ret = clk_prepare_enable(dev->clk_ahb);
+		goto err_clk_ahb;
 
 	v4l2_dbg(1, coda_debug, &dev->v4l2_dev, "Created instance %d (%p)\n",
 		 ctx->idx, ctx);
 
 	return 0;
 
+err_clk_ahb:
+	clk_disable_unprepare(dev->clk_per);
 err:
 	v4l2_fh_del(&ctx->fh);
 	v4l2_fh_exit(&ctx->fh);