mirror of https://gitee.com/openkylin/linux.git
media: coda: Fix runtime PM imbalance on error
pm_runtime_get_sync() increments the runtime PM usage counter even when it returns an error code. Thus a pairing decrement is needed on the error handling path to keep the counter balanced. Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
This commit is contained in:
parent
e40a8770fd
commit
90361693ad
|
@ -2653,7 +2653,7 @@ static int coda_open(struct file *file)
|
||||||
|
|
||||||
ret = clk_prepare_enable(dev->clk_per);
|
ret = clk_prepare_enable(dev->clk_per);
|
||||||
if (ret)
|
if (ret)
|
||||||
goto err_clk_per;
|
goto err_pm_get;
|
||||||
|
|
||||||
ret = clk_prepare_enable(dev->clk_ahb);
|
ret = clk_prepare_enable(dev->clk_ahb);
|
||||||
if (ret)
|
if (ret)
|
||||||
|
@ -2692,9 +2692,8 @@ static int coda_open(struct file *file)
|
||||||
clk_disable_unprepare(dev->clk_ahb);
|
clk_disable_unprepare(dev->clk_ahb);
|
||||||
err_clk_ahb:
|
err_clk_ahb:
|
||||||
clk_disable_unprepare(dev->clk_per);
|
clk_disable_unprepare(dev->clk_per);
|
||||||
err_clk_per:
|
|
||||||
pm_runtime_put_sync(dev->dev);
|
|
||||||
err_pm_get:
|
err_pm_get:
|
||||||
|
pm_runtime_put_sync(dev->dev);
|
||||||
v4l2_fh_del(&ctx->fh);
|
v4l2_fh_del(&ctx->fh);
|
||||||
v4l2_fh_exit(&ctx->fh);
|
v4l2_fh_exit(&ctx->fh);
|
||||||
err_coda_name_init:
|
err_coda_name_init:
|
||||||
|
|
Loading…
Reference in New Issue