drm/i915: Complete pending resets before get-reset-stats ioctl
authorChris Wilson <chris@chris-wilson.co.uk>
Fri, 13 May 2016 10:57:20 +0000 (11:57 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Fri, 13 May 2016 11:38:52 +0000 (12:38 +0100)
The get-reset-stats ioctls wasn't waiting for a pending reset before
reporting its statistics, and so was ignoring a hang generated by the
context that should have been reported against said context.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Tested-by: Mika Kuoppala <mika.kuoppala@intel.com>
Reviewed-by: Mika Kuoppala <mika.kuoppala@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1463137042-9669-2-git-send-email-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/i915_gem_context.c

index f3c76ca6b411f18098ca8170281b8fa9251df2a1..2aedd188473dbf1679ff02d9956bd8ffd9f94167 100644 (file)
@@ -1056,7 +1056,7 @@ int i915_gem_context_reset_stats_ioctl(struct drm_device *dev,
        if (args->ctx_id == DEFAULT_CONTEXT_HANDLE && !capable(CAP_SYS_ADMIN))
                return -EPERM;
 
-       ret = mutex_lock_interruptible(&dev->struct_mutex);
+       ret = i915_mutex_lock_interruptible(dev);
        if (ret)
                return ret;