int ret = 0;
        struct drm_gem_object *obj;
 
-       mutex_lock(&dev->struct_mutex);
-
        /* GEM does all our handle to object mapping */
        obj = drm_gem_object_lookup(dev, file, handle);
-       if (obj == NULL) {
-               ret = -ENOENT;
-               goto unlock;
-       }
-       /* What validation is needed here ? */
+       if (obj == NULL)
+               return -ENOENT;
 
        /* Make it mmapable */
        ret = drm_gem_create_mmap_offset(obj);
                goto out;
        *offset = drm_vma_node_offset_addr(&obj->vma_node);
 out:
-       drm_gem_object_unreference(obj);
-unlock:
-       mutex_unlock(&dev->struct_mutex);
+       drm_gem_object_unreference_unlocked(obj);
        return ret;
 }