drm/vmwgfx: Fix error paths when mapping framebuffer
authorSinclair Yeh <syeh@vmware.com>
Thu, 7 Jul 2016 18:01:30 +0000 (11:01 -0700)
committerSinclair Yeh <syeh@vmware.com>
Fri, 8 Jul 2016 15:30:35 +0000 (08:30 -0700)
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>
Cc: <stable@vger.kernel.org>
drivers/gpu/drm/vmwgfx/vmwgfx_fb.c

index 66eaa30d0c0845b8abba75c0c8c38f13a7e6544b..d2d93959b1198ce41470a1a76a8341553c1ddc6c 100644 (file)
@@ -589,7 +589,7 @@ static int vmw_fb_set_par(struct fb_info *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 *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);