From: Chris Wilson Date: Fri, 13 Sep 2013 22:57:04 +0000 (+0100) Subject: drm/i915: Do not unlock upon error in i915_gem_idle() X-Git-Tag: v3.13-rc1~69^2~81^2~88 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f740334775efd30631c556f7654b92dae66df494;p=platform%2Fkernel%2Flinux-stable.git drm/i915: Do not unlock upon error in i915_gem_idle() We never took the lock ourselves and all callers expect the struct_mutex to be locked upon return (be it success or error), thereore dropping the lock along the error paths looks to be a vestigial error from commit db1b76ca6a79c774074ae87bee7afc0825a478f5 Author: Daniel Vetter Date: Tue Jul 9 16:51:37 2013 +0200 drm/i915: don't frob mm.suspended when not using ums Signed-off-by: Chris Wilson Cc: Daniel Vetter Signed-off-by: Daniel Vetter --- diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index 96f65a1..96ad99c 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c @@ -4232,16 +4232,13 @@ i915_gem_idle(struct drm_device *dev) drm_i915_private_t *dev_priv = dev->dev_private; int ret; - if (dev_priv->ums.mm_suspended) { - mutex_unlock(&dev->struct_mutex); + if (dev_priv->ums.mm_suspended) return 0; - } ret = i915_gpu_idle(dev); - if (ret) { - mutex_unlock(&dev->struct_mutex); + if (ret) return ret; - } + i915_gem_retire_requests(dev); /* Under UMS, be paranoid and evict. */