Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ffed1d09 authored by Ben Gamari's avatar Ben Gamari Committed by Jesse Barnes
Browse files

drm/i915: Check whether chip is wedged in i915_wait_request()



i915_wait_request() only checks mm.wedged after it interacts with the
hardware, generally causing the driver to lock up waiting for a wedged
chip. Make sure we check mm.wedged as the first thing we do.

Reported-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: default avatarBen Gamari <bgamari.foss@gmail.com>
Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
parent 078a033f
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -1751,6 +1751,9 @@ i915_wait_request(struct drm_device *dev, uint32_t seqno)

	BUG_ON(seqno == 0);

	if (dev_priv->mm.wedged)
		return -EIO;

	if (!i915_seqno_passed(i915_get_gem_seqno(dev), seqno)) {
		if (IS_IGDNG(dev))
			ier = I915_READ(DEIER) | I915_READ(GTIER);