]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915: Lock the engine while dumping the active request
authorChris Wilson <chris@chris-wilson.co.uk>
Mon, 15 Jul 2019 08:09:28 +0000 (09:09 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Tue, 16 Jul 2019 12:19:34 +0000 (13:19 +0100)
commit46fe23c6ddf5dc1fa9351b9f014427b39579db6f
tree1befcc2a23eaeea60d75b19087505f645b5ea8e1
parent396c2a980d3553361702ab8ecb5892a4f6b800e1
drm/i915: Lock the engine while dumping the active request

We cannot let the request be retired and freed while we are trying to
dump it during error capture. It is not sufficient just to grab a
reference to the request, as during retirement we may free the ring
which we are also dumping. So take the engine lock to prevent retiring
and freeing of the request.

Reported-by: Alex Shumsky <alexthreed@gmail.com>
Fixes: d81d148dde74 ("drm/i915: Dump the ringbuffer of the active request for debugging")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Alex Shumsky <alexthreed@gmail.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190715080946.15593-6-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/gt/intel_engine_cs.c
drivers/gpu/drm/i915/i915_gpu_error.c