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)
committerJani Nikula <jani.nikula@intel.com>
Tue, 3 Jan 2017 09:41:57 +0000 (11:41 +0200)
commit2471eb5fb6e1433e28426ece235e3730348019ec
tree72c3347b2022652f8e539284ba6f265c454e6cd8
parent64d1461ce0c3b8ecc1c6b61f4ad1c1d10ce971a3
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
(cherry picked from commit 00c25e3f40083a6d5f1111955baccd287ee49258)
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
drivers/gpu/drm/i915/i915_gem.c