aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2015-11-23 04:32:52 -0500
committerDaniel Vetter <daniel.vetter@ffwll.ch>2015-12-01 04:05:07 -0500
commit0e3089fa50df00b963067aa5a34d5fc01d93802a (patch)
tree17bbfce72014f913961394c188e69b5cd0f45393
parent46a0f2234d3a7078808b5416200f55ea2cb1d99b (diff)
drm/gma500: Drop dev->struct_mutex from mmap offset function
Simply forgotten about this when I was doing my general cleansing of simple gem mmap offset functions. There's nothing but core functions called here, and they all have their own protection already. Cc: Patrik Jakobsson <patrik.r.jakobsson@gmail.com> Acked-by: Patrik Jakobsson <patrik.r.jakobsson@gmail.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/1448271183-20523-20-git-send-email-daniel.vetter@ffwll.ch
-rw-r--r--drivers/gpu/drm/gma500/gem.c13
1 files changed, 3 insertions, 10 deletions
diff --git a/drivers/gpu/drm/gma500/gem.c b/drivers/gpu/drm/gma500/gem.c
index e3bdc8b1c32c..f0357f525f56 100644
--- a/drivers/gpu/drm/gma500/gem.c
+++ b/drivers/gpu/drm/gma500/gem.c
@@ -62,15 +62,10 @@ int psb_gem_dumb_map_gtt(struct drm_file *file, struct drm_device *dev,
62 int ret = 0; 62 int ret = 0;
63 struct drm_gem_object *obj; 63 struct drm_gem_object *obj;
64 64
65 mutex_lock(&dev->struct_mutex);
66
67 /* GEM does all our handle to object mapping */ 65 /* GEM does all our handle to object mapping */
68 obj = drm_gem_object_lookup(dev, file, handle); 66 obj = drm_gem_object_lookup(dev, file, handle);
69 if (obj == NULL) { 67 if (obj == NULL)
70 ret = -ENOENT; 68 return -ENOENT;
71 goto unlock;
72 }
73 /* What validation is needed here ? */
74 69
75 /* Make it mmapable */ 70 /* Make it mmapable */
76 ret = drm_gem_create_mmap_offset(obj); 71 ret = drm_gem_create_mmap_offset(obj);
@@ -78,9 +73,7 @@ int psb_gem_dumb_map_gtt(struct drm_file *file, struct drm_device *dev,
78 goto out; 73 goto out;
79 *offset = drm_vma_node_offset_addr(&obj->vma_node); 74 *offset = drm_vma_node_offset_addr(&obj->vma_node);
80out: 75out:
81 drm_gem_object_unreference(obj); 76 drm_gem_object_unreference_unlocked(obj);
82unlock:
83 mutex_unlock(&dev->struct_mutex);
84 return ret; 77 return ret;
85} 78}
86 79