With the previous two changes it doesn't protect anything any more.

v2: Use _unlocked unreference variant.

Signed-off-by: Daniel Vetter <daniel.vetter at intel.com>
---
 drivers/gpu/drm/vgem/vgem_drv.c | 16 ++++------------
 1 file changed, 4 insertions(+), 12 deletions(-)

diff --git a/drivers/gpu/drm/vgem/vgem_drv.c b/drivers/gpu/drm/vgem/vgem_drv.c
index 1a609347236b..807a24d3c0a8 100644
--- a/drivers/gpu/drm/vgem/vgem_drv.c
+++ b/drivers/gpu/drm/vgem/vgem_drv.c
@@ -103,12 +103,8 @@ static int vgem_gem_fault(struct vm_area_struct *vma, 
struct vm_fault *vmf)
        if (page_offset > num_pages)
                return VM_FAULT_SIGBUS;

-       mutex_lock(&dev->struct_mutex);
-
        ret = vm_insert_page(vma, (unsigned long)vmf->virtual_address,
                             obj->pages[page_offset]);
-
-       mutex_unlock(&dev->struct_mutex);
        switch (ret) {
        case 0:
                return VM_FAULT_NOPAGE;
@@ -205,12 +201,9 @@ int vgem_gem_dumb_map(struct drm_file *file, struct 
drm_device *dev,
        int ret = 0;
        struct drm_gem_object *obj;

-       mutex_lock(&dev->struct_mutex);
        obj = drm_gem_object_lookup(dev, file, handle);
-       if (!obj) {
-               ret = -ENOENT;
-               goto unlock;
-       }
+       if (!obj)
+               return -ENOENT;

        ret = drm_gem_create_mmap_offset(obj);
        if (ret)
@@ -223,9 +216,8 @@ int vgem_gem_dumb_map(struct drm_file *file, struct 
drm_device *dev,
        *offset = drm_vma_node_offset_addr(&obj->vma_node);

 unref:
-       drm_gem_object_unreference(obj);
-unlock:
-       mutex_unlock(&dev->struct_mutex);
+       drm_gem_object_unreference_unlocked(obj);
+
        return ret;
 }

-- 
2.5.1

Reply via email to