drm/i915: Check waiter->seqno carefully in case of preemption
authorChris Wilson <chris@chris-wilson.co.uk>
Mon, 18 Sep 2017 16:27:34 +0000 (17:27 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Fri, 22 Sep 2017 11:47:19 +0000 (12:47 +0100)
commitde4d2106f88ad7d98bf3adc602885d1d9071b644
tree72474958d42400b8cded1e4f23627cee8c701682
parent17b51ad8e5c051032d8e1d698e7dfd01d9133a92
drm/i915: Check waiter->seqno carefully in case of preemption

If preemption occurs at precisely the right moment, we may decide that
the wait is complete even though the wait's request is no longer
executing (having been preempted). We handle this situation by double
checking that request following deciding whether the wait is complete.

Reported-by: Michał Winiarski <michal.winiarski@intel.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Michał Winiarski <michal.winiarski@intel.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20170918162734.21294-2-chris@chris-wilson.co.uk
Reviewed-by: Michał Winiarski <michal.winiarski@intel.com>
drivers/gpu/drm/i915/i915_irq.c