Re: [PATCH] media: staging: tegra-vde: add missing pm_runtime_put_autosuspend

From: Dmitry Osipenko
Date: Fri Jun 05 2020 - 10:06:01 EST


05.06.2020 09:00, Jon Hunter ÐÐÑÐÑ:
>
> On 02/06/2020 06:48, Navid Emamdoost wrote:
>> Call to pm_runtime_get_sync increments counter even in case of
>> failure leading to incorrect ref count.
>> Call pm_runtime_put_autosuspend if pm_runtime_get_sync fails.
>>
>> Signed-off-by: Navid Emamdoost <navid.emamdoost@xxxxxxxxx>
>> ---
>> drivers/staging/media/tegra-vde/vde.c | 4 +++-
>> 1 file changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/staging/media/tegra-vde/vde.c b/drivers/staging/media/tegra-vde/vde.c
>> index d3e63512a765..52cdd4a91e93 100644
>> --- a/drivers/staging/media/tegra-vde/vde.c
>> +++ b/drivers/staging/media/tegra-vde/vde.c
>> @@ -776,8 +776,10 @@ static int tegra_vde_ioctl_decode_h264(struct tegra_vde *vde,
>> goto release_dpb_frames;
>>
>> ret = pm_runtime_get_sync(dev);
>> - if (ret < 0)
>> + if (ret < 0) {
>> + pm_runtime_put_autosuspend(dev);
>> goto unlock;
>> + }
>>
>> /*
>> * We rely on the VDE registers reset value, otherwise VDE
>
> Please use the put in the error path.

This is a third version of the patch [1][2].

[1]
https://patchwork.ozlabs.org/project/linux-tegra/patch/20200514210847.9269-2-digetx@xxxxxxxxx/
[2]
https://patchwork.ozlabs.org/project/linux-tegra/patch/20200520095148.10995-1-dinghao.liu@xxxxxxxxxx/

I'd prefer to stick with my variant of the patch [1] because in my
opinion it's most straightforward variant and I actually tested that it
works properly.

Navid, anyways thank you for the patch. Next time please check if
somebody else already sent similar patches before you.