drm/i915: Prevent timeline updates whilst performing reset
authorChris Wilson <chris@chris-wilson.co.uk>
Fri, 23 Dec 2016 14:58:04 +0000 (14:58 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Fri, 23 Dec 2016 16:08:10 +0000 (16:08 +0000)
commit00c25e3f40083a6d5f1111955baccd287ee49258
tree813e2bb2dabc7fb978cec6b4497a14d98bbc56d8
parent07e19ea4f743bb204ed63a2f2f1235811a2e942a
drm/i915: Prevent timeline updates whilst performing reset

As the fence may be signaled concurrently from an interrupt on another
device, it is possible for the list of requests on the timeline to be
modified as we walk it. Take both (the context's timeline and the global
timeline) locks to prevent such modifications.

Fixes: 80b204bce8f2 ("drm/i915: Enable multiple timelines")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Cc: <drm-intel-fixes@lists.freedesktop.org>
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20161223145804.6605-10-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/i915_gem.c