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.