| From 33014573b636d76171e62b07953ed5817919d29d Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Tue, 29 Jun 2021 19:59:56 +0800 |
| Subject: drm/gma500: Add the missed drm_gem_object_put() in |
| psb_user_framebuffer_create() |
| |
| From: Jing Xiangfeng <jingxiangfeng@huawei.com> |
| |
| [ Upstream commit cd8f318fbd266b127ffc93cc4c1eaf9a5196fafb ] |
| |
| psb_user_framebuffer_create() misses to call drm_gem_object_put() in an |
| error path. Add the missed function call to fix it. |
| |
| Signed-off-by: Jing Xiangfeng <jingxiangfeng@huawei.com> |
| Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> |
| Link: https://patchwork.freedesktop.org/patch/msgid/20210629115956.15160-1-jingxiangfeng@huawei.com |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/gpu/drm/gma500/framebuffer.c | 7 ++++++- |
| 1 file changed, 6 insertions(+), 1 deletion(-) |
| |
| diff --git a/drivers/gpu/drm/gma500/framebuffer.c b/drivers/gpu/drm/gma500/framebuffer.c |
| index ebe9dccf2d83..0b8648396fb2 100644 |
| --- a/drivers/gpu/drm/gma500/framebuffer.c |
| +++ b/drivers/gpu/drm/gma500/framebuffer.c |
| @@ -352,6 +352,7 @@ static struct drm_framebuffer *psb_user_framebuffer_create |
| const struct drm_mode_fb_cmd2 *cmd) |
| { |
| struct drm_gem_object *obj; |
| + struct drm_framebuffer *fb; |
| |
| /* |
| * Find the GEM object and thus the gtt range object that is |
| @@ -362,7 +363,11 @@ static struct drm_framebuffer *psb_user_framebuffer_create |
| return ERR_PTR(-ENOENT); |
| |
| /* Let the core code do all the work */ |
| - return psb_framebuffer_create(dev, cmd, obj); |
| + fb = psb_framebuffer_create(dev, cmd, obj); |
| + if (IS_ERR(fb)) |
| + drm_gem_object_put(obj); |
| + |
| + return fb; |
| } |
| |
| static int psbfb_probe(struct drm_fb_helper *fb_helper, |
| -- |
| 2.30.2 |
| |