Re: [PATCH 06/78] media: renesas-ceu: fix pm_runtime_get_sync() usage count

From: Jacopo Mondi
Date: Sat Apr 24 2021 - 04:10:54 EST


Hi Mauro,

On Sat, Apr 24, 2021 at 08:44:16AM +0200, Mauro Carvalho Chehab wrote:
> The pm_runtime_get_sync() internally increments the
> dev->power.usage_count without decrementing it, even on errors.
> replace it by the new pm_runtime_resume_and_get(), introduced by:

Nit: 'Replace' as it follows a full stop ?

> commit dd8088d5a896 ("PM: runtime: Add pm_runtime_resume_and_get to deal with usage counter")
> in order to properly decrement the usage counter and avoid memory
> leaks.
>
> While here, check if the PM runtime was caught at open time.

Nit: Maybe "PM runtime error ..." or something similar as I'm missing the
subject of the phrase.

>
> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@xxxxxxxxxx>
> ---
> drivers/media/platform/renesas-ceu.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/media/platform/renesas-ceu.c b/drivers/media/platform/renesas-ceu.c
> index cd137101d41e..965a7259e707 100644
> --- a/drivers/media/platform/renesas-ceu.c
> +++ b/drivers/media/platform/renesas-ceu.c
> @@ -1099,7 +1099,10 @@ static int ceu_open(struct file *file)
>
> mutex_lock(&ceudev->mlock);
> /* Causes soft-reset and sensor power on on first open */
> - pm_runtime_get_sync(ceudev->dev);
> + ret = pm_runtime_resume_and_get(ceudev->dev);
> + if (ret < 0)
> + return ret;

The mutex should be released before returning

> +
> mutex_unlock(&ceudev->mlock);
>
> return 0;
> --
> 2.30.2
>