OSDN Git Service

drm/i915: Unwind failure on pinning the gen7 ppgtt
authorChris Wilson <chris@chris-wilson.co.uk>
Sat, 22 Dec 2018 03:06:23 +0000 (03:06 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Sat, 22 Dec 2018 15:34:22 +0000 (15:34 +0000)
commitd4de753526f4d99f541f1b6ed1d963005c09700c
tree3bd16aa47fd4bb6986af6c8bf697d8e3061ddbc6
parent17960f35f146258a5e6e4b1dc83bd6f16aa349a5
drm/i915: Unwind failure on pinning the gen7 ppgtt

If we fail to pin the ggtt vma slot for the ppgtt page tables, we need
to unwind the locals before reporting the error. Or else on subsequent
attempts to bind the page tables into the ggtt, we will already believe
that the vma has been pinned and continue on blithely. If something else
should happen to be at that location, choas ensues.

Fixes: a2bbf7148342 ("drm/i915/gtt: Only keep gen6 page directories pinned while active")
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: Matthew Auld <matthew.william.auld@gmail.com>
Cc: <stable@vger.kernel.org> # v4.19+
Reviewed-by: Matthew Auld <matthew.william.auld@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20181222030623.21710-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/i915_gem_gtt.c