summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2015-02-03 11:45:40 +0100
committerDaniel Vetter <daniel.vetter@ffwll.ch>2015-02-03 17:13:04 +0100
commitb838cbee0d6f0234406e435032b2304f3d05515d (patch)
treeda8cc18f5ce451d3e5cbfcdb90508f77d903c9e9
parent1293eaa3ebf92f146f366d9b678a07b8b3200ea1 (diff)
downloadop-kernel-dev-b838cbee0d6f0234406e435032b2304f3d05515d.zip
op-kernel-dev-b838cbee0d6f0234406e435032b2304f3d05515d.tar.gz
drm/i915: Remove bogus locking check in the hangcheck code
You can _never_ assert that a lock is not held, except in some very restricted corner cases where it's guranteed that your code is running single-threade (e.g. driver load before you've published any pointers leading to that lock). In addition the early return breaks a bunch of testcases since with highly concurrent hangcheck stress tests the reset fails to work and the test doesn't recover and time out. This regression has been introduced in commit b8d24a06568368076ebd5a858a011699a97bfa42 Author: Mika Kuoppala <mika.kuoppala@linux.intel.com> Date: Wed Jan 28 17:03:14 2015 +0200 drm/i915: Remove nested work in gpu error handling Aside: It is possible to check whether a given task doesn't hold a lock, but only when lockdep is enabled, using the lockdep_assert_held stuff. Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Mika Kuoppala <mika.kuoppala@intel.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=88908 Reviewed-by: Mika Kuoppala <mika.kuoppala@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
-rw-r--r--drivers/gpu/drm/i915/i915_irq.c3
1 files changed, 0 insertions, 3 deletions
diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index 53c5f9e..4145d95 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -2612,9 +2612,6 @@ void i915_handle_error(struct drm_device *dev, bool wedged,
va_list args;
char error_msg[80];
- if (WARN_ON(mutex_is_locked(&dev_priv->dev->struct_mutex)))
- return;
-
va_start(args, fmt);
vscnprintf(error_msg, sizeof(error_msg), fmt, args);
va_end(args);
OpenPOWER on IntegriCloud