| From 58541f7a6458e17ab417321b284f0090f530aa91 Mon Sep 17 00:00:00 2001 |
| From: Sinclair Yeh <syeh@vmware.com> |
| Date: Thu, 7 Jul 2016 11:01:30 -0700 |
| Subject: drm/vmwgfx: Fix error paths when mapping framebuffer |
| |
| From: Sinclair Yeh <syeh@vmware.com> |
| |
| commit 58541f7a6458e17ab417321b284f0090f530aa91 upstream. |
| |
| Rather than returning immediately, make sure to unlock the |
| mutexes first. |
| |
| Signed-off-by: Sinclair Yeh <syeh@vmware.com> |
| Reviewed-by: Charmaine Lee <charmainel@vmware.com> |
| Reported-by: Emil Velikov <emil.l.velikov@gmail.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/gpu/drm/vmwgfx/vmwgfx_fb.c | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| --- a/drivers/gpu/drm/vmwgfx/vmwgfx_fb.c |
| +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_fb.c |
| @@ -589,7 +589,7 @@ static int vmw_fb_set_par(struct fb_info |
| ret = vfb->pin(vfb); |
| if (ret) { |
| DRM_ERROR("Could not pin the fbdev framebuffer.\n"); |
| - return ret; |
| + goto out_unlock; |
| } |
| |
| ret = ttm_bo_kmap(&par->vmw_bo->base, 0, |
| @@ -597,7 +597,7 @@ static int vmw_fb_set_par(struct fb_info |
| if (ret) { |
| vfb->unpin(vfb); |
| DRM_ERROR("Could not map the fbdev framebuffer.\n"); |
| - return ret; |
| + goto out_unlock; |
| } |
| |
| par->bo_ptr = ttm_kmap_obj_virtual(&par->map, &par->bo_iowrite); |