drm/etnaviv: fix ref count leak via pm_runtime_get_sync
authorNavid Emamdoost <navid.emamdoost@gmail.com>
Mon, 15 Jun 2020 06:12:20 +0000 (01:12 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 19 Aug 2020 06:23:36 +0000 (08:23 +0200)
commit29c1bca537ec44e67718e3972dcfaf7db1ac97e4
treed9f87fcdeaef3b60a74ea7dc1630fdbc42f58903
parentf997c3409c6668dca6411224ff67bd3f670ba36b
drm/etnaviv: fix ref count leak via pm_runtime_get_sync

[ Upstream commit c5d5a32ead1e3a61a07a1e59eb52a53e4a6b2a7f ]

in etnaviv_gpu_submit, etnaviv_gpu_recover_hang, etnaviv_gpu_debugfs,
and etnaviv_gpu_init the call to pm_runtime_get_sync increments the
counter even in case of failure, leading to incorrect ref count.
In case of failure, decrement the ref count before returning.

Signed-off-by: Navid Emamdoost <navid.emamdoost@gmail.com>
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/etnaviv/etnaviv_gpu.c