aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/msm
diff options
context:
space:
mode:
authorDan Carpenter <dan.carpenter@oracle.com>2021-10-11 15:40:05 +0300
committerRob Clark <robdclark@chromium.org>2021-10-15 16:52:32 -0700
commit7425e8167507fe512d8ac0825acda4aebf0a7ca0 (patch)
tree60be176ed9f001f462dad60ff517c0373a5b72a5 /drivers/gpu/drm/msm
parentdrm: Remove redundant 'flush_workqueue()' calls (diff)
downloadlinux-dev-7425e8167507fe512d8ac0825acda4aebf0a7ca0.tar.xz
linux-dev-7425e8167507fe512d8ac0825acda4aebf0a7ca0.zip
drm/msm: unlock on error in get_sched_entity()
Add a missing unlock on the error path if drm_sched_entity_init() fails. Fixes: 68002469e571 ("drm/msm: One sched entity per process per priority") Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Link: https://lore.kernel.org/r/20211011124005.GE15188@kili Signed-off-by: Rob Clark <robdclark@chromium.org>
Diffstat (limited to 'drivers/gpu/drm/msm')
-rw-r--r--drivers/gpu/drm/msm/msm_submitqueue.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/drm/msm/msm_submitqueue.c b/drivers/gpu/drm/msm/msm_submitqueue.c
index b8621c6e0554..7cb158bcbcf6 100644
--- a/drivers/gpu/drm/msm/msm_submitqueue.c
+++ b/drivers/gpu/drm/msm/msm_submitqueue.c
@@ -101,6 +101,7 @@ get_sched_entity(struct msm_file_private *ctx, struct msm_ringbuffer *ring,
ret = drm_sched_entity_init(entity, sched_prio, &sched, 1, NULL);
if (ret) {
+ mutex_unlock(&entity_lock);
kfree(entity);
return ERR_PTR(ret);
}