drm/i915/execlists: Add a couple more validity checks to assert_pending()
authorChris Wilson <chris@chris-wilson.co.uk>
Tue, 3 Dec 2019 15:26:30 +0000 (15:26 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Tue, 3 Dec 2019 15:42:28 +0000 (15:42 +0000)
Check the pending request submission is valid: that it at least has a
reference for the submission and that the request is on the active list.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191203152631.3107653-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/gt/intel_lrc.c

index fef4b7e..37ab974 100644 (file)
@@ -1303,6 +1303,9 @@ assert_pending_valid(const struct intel_engine_execlists *execlists,
                unsigned long flags;
                bool ok = true;
 
+               GEM_BUG_ON(!kref_read(&rq->fence.refcount));
+               GEM_BUG_ON(!i915_request_is_active(rq));
+
                if (ce == rq->hw_context) {
                        GEM_TRACE_ERR("Dup context:%llx in pending[%zd]\n",
                                      ce->timeline->fence_context,