Merge tag 'drm-next-2021-11-12' of git://anongit.freedesktop.org/drm/drm
[linux-2.6-microblaze.git] / drivers / gpu / drm / drm_prime.c
index d8ba957..c773d3d 100644 (file)
@@ -722,11 +722,13 @@ int drm_gem_prime_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma)
        if (obj->funcs && obj->funcs->mmap) {
                vma->vm_ops = obj->funcs->vm_ops;
 
+               drm_gem_object_get(obj);
                ret = obj->funcs->mmap(obj, vma);
-               if (ret)
+               if (ret) {
+                       drm_gem_object_put(obj);
                        return ret;
+               }
                vma->vm_private_data = obj;
-               drm_gem_object_get(obj);
                return 0;
        }