On Wed, Sep 26, 2012 at 04:15:20PM -0700, Ben Widawsky wrote: > On the EINVAL case we don't release struct_mutex. It should be safe to > grab the lock after checking the parameters, which also resolves the > issues. > > Signed-off-by: Ben Widawsky <ben at bwidawsk.net> Nice catch, thanks for the patch, applied to fixes. -Daniel > --- > drivers/gpu/drm/i915/i915_gem.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c > index 365a7dc..76bbb37 100644 > --- a/drivers/gpu/drm/i915/i915_gem.c > +++ b/drivers/gpu/drm/i915/i915_gem.c > @@ -3218,10 +3218,6 @@ int i915_gem_set_caching_ioctl(struct drm_device *dev, void *data, > enum i915_cache_level level; > int ret; > > - ret = i915_mutex_lock_interruptible(dev); > - if (ret) > - return ret; > - > switch (args->caching) { > case I915_CACHING_NONE: > level = I915_CACHE_NONE; > @@ -3233,6 +3229,10 @@ int i915_gem_set_caching_ioctl(struct drm_device *dev, void *data, > return -EINVAL; > } > > + ret = i915_mutex_lock_interruptible(dev); > + if (ret) > + return ret; > + > obj = to_intel_bo(drm_gem_object_lookup(dev, file, args->handle)); > if (&obj->base == NULL) { > ret = -ENOENT; > -- > 1.7.12.1 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx at lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch