diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2009-06-06 04:46:00 -0400 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2009-06-09 17:41:37 -0400 |
commit | b1ce786cb85280490ca3c29a62ddf8608826b414 (patch) | |
tree | 01c0eeda679de2a679f2e35a3495a6d5ec2b2bb4 /drivers/gpu | |
parent | 1f803ee5cea67d2387aeedb4b07e645a743729de (diff) |
drm/i915: no need to hold mutex for object lookup
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Eric Anholt <eric@anholt.net>
Diffstat (limited to 'drivers/gpu')
-rw-r--r-- | drivers/gpu/drm/i915/i915_gem.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index 2d705e8a297e..744bf9803ea3 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c | |||
@@ -3701,15 +3701,14 @@ i915_gem_busy_ioctl(struct drm_device *dev, void *data, | |||
3701 | struct drm_gem_object *obj; | 3701 | struct drm_gem_object *obj; |
3702 | struct drm_i915_gem_object *obj_priv; | 3702 | struct drm_i915_gem_object *obj_priv; |
3703 | 3703 | ||
3704 | mutex_lock(&dev->struct_mutex); | ||
3705 | obj = drm_gem_object_lookup(dev, file_priv, args->handle); | 3704 | obj = drm_gem_object_lookup(dev, file_priv, args->handle); |
3706 | if (obj == NULL) { | 3705 | if (obj == NULL) { |
3707 | DRM_ERROR("Bad handle in i915_gem_busy_ioctl(): %d\n", | 3706 | DRM_ERROR("Bad handle in i915_gem_busy_ioctl(): %d\n", |
3708 | args->handle); | 3707 | args->handle); |
3709 | mutex_unlock(&dev->struct_mutex); | ||
3710 | return -EBADF; | 3708 | return -EBADF; |
3711 | } | 3709 | } |
3712 | 3710 | ||
3711 | mutex_lock(&dev->struct_mutex); | ||
3713 | /* Update the active list for the hardware's current position. | 3712 | /* Update the active list for the hardware's current position. |
3714 | * Otherwise this only updates on a delayed timer or when irqs are | 3713 | * Otherwise this only updates on a delayed timer or when irqs are |
3715 | * actually unmasked, and our working set ends up being larger than | 3714 | * actually unmasked, and our working set ends up being larger than |