coda: Check the return value from clk_prepare_enable()
PATCH v2 1/2 coda: Check the return value from clk_prepare_enable()
From: Fabio Estevam <[email protected]>
clk_prepare_enable() may fail, so let's check its return value and propagate it in the case of error.
---
Changes since v1:
- Add missing 'if'
drivers/media/platform/coda.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-)
drivers/media/platform/coda.c +9 -2
@@ -1559,14 +1559,21 @@ 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); +if (ret) + 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);
Signature · 1 line
1.8.1.2
PATCH 2/2 coda: No need to check the return value of platform_get_resource()
From: Fabio Estevam <[email protected]>
When using devm_ioremap_resource(), we do not need to check the return value of platform_get_resource(), so just remove it.
---
Changes since v1:
- None
drivers/media/platform/coda.c | 5 ----- 1 file changed, 5 deletions(-)
drivers/media/platform/coda.c +0 -5
@@ -2039,11 +2039,6 @@ static int coda_probe(struct platform_device *pdev)/* Get memory for physical registers */ res =platform_get_resource (pdev,IORESOURCE_MEM ,0 ); -if (res ==NULL ) { -dev_err (&pdev->dev,"failed to get memory region resource\n" ); -return -ENOENT ; - } - dev->regs_base =devm_ioremap_resource (&pdev->dev, res);if (IS_ERR (dev->regs_base))return PTR_ERR (dev->regs_base);
Signature · 1 line
1.8.1.2
Hi Fabio,
Am Samstag, den 20.07.2013, 16:10 -0300 schrieb Fabio Estevam:
Quoted 19 lines
From: Fabio Estevam <[email protected]>
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 <[email protected]>---
Changes since v1:
- Add missing 'if'drivers/media/platform/coda.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-)drivers/media/platform/coda.c +0
-0
drivers/media/platform/coda.c static int coda_open(struct file *file) · line 1560
Quoted 2 lines
drivers/media/platform/coda.c +0
-0@@ -1559,14 +1559,21 @@ static int coda_open(struct file *file)list_add (&ctx->list, &dev->instances);coda_unlock (ctx);
Now this list_add is not reverted in the error path, ...
drivers/media/platform/coda.c static int coda_open(struct file *file) · line 1568
Quoted 10 lines
drivers/media/platform/coda.c +7
-2-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); +if (ret) + goto err_clk_ahb;
... better move it down here.
drivers/media/platform/coda.c static int coda_open(struct file *file) · line 1579
Quoted 10 lines
drivers/media/platform/coda.c +2
-0v4l2_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);
regards
Philipp