Skip to content

Commit

Permalink
drm/amdkfd: fix ref count leak when pm_runtime_get_sync fails
Browse files Browse the repository at this point in the history
[ Upstream commit 1c1ada3 ]

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.

Reviewed-by: Rajneesh Bhardwaj <rajneesh.bhardwaj@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
  • Loading branch information
alexdeucher authored and gregkh committed Sep 3, 2020
1 parent 2e91283 commit 4e30283
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion drivers/gpu/drm/amd/amdkfd/kfd_process.c
Expand Up @@ -1003,8 +1003,10 @@ struct kfd_process_device *kfd_bind_process_to_device(struct kfd_dev *dev,
*/
if (!pdd->runtime_inuse) {
err = pm_runtime_get_sync(dev->ddev->dev);
if (err < 0)
if (err < 0) {
pm_runtime_put_autosuspend(dev->ddev->dev);
return ERR_PTR(err);
}
}

err = kfd_iommu_bind_process_to_device(pdd);
Expand Down

0 comments on commit 4e30283

Please sign in to comment.