Just missed setting err along an interruptible error path for the
intel_engine_pulse().

Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk>
---
 drivers/gpu/drm/i915/gt/intel_engine_heartbeat.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_engine_heartbeat.c 
b/drivers/gpu/drm/i915/gt/intel_engine_heartbeat.c
index 6c6fd185457c..dd825718e4e5 100644
--- a/drivers/gpu/drm/i915/gt/intel_engine_heartbeat.c
+++ b/drivers/gpu/drm/i915/gt/intel_engine_heartbeat.c
@@ -180,7 +180,7 @@ int intel_engine_pulse(struct intel_engine_cs *engine)
        struct i915_sched_attr attr = { .priority = I915_PRIORITY_BARRIER };
        struct intel_context *ce = engine->kernel_context;
        struct i915_request *rq;
-       int err = 0;
+       int err;
 
        if (!intel_engine_has_preemption(engine))
                return -ENODEV;
@@ -188,8 +188,10 @@ int intel_engine_pulse(struct intel_engine_cs *engine)
        if (!intel_engine_pm_get_if_awake(engine))
                return 0;
 
-       if (mutex_lock_interruptible(&ce->timeline->mutex))
+       if (mutex_lock_interruptible(&ce->timeline->mutex)) {
+               err = -EINTR;
                goto out_rpm;
+       }
 
        intel_context_enter(ce);
        rq = __i915_request_create(ce, GFP_NOWAIT | __GFP_NOWARN);
@@ -204,6 +206,8 @@ int intel_engine_pulse(struct intel_engine_cs *engine)
 
        __i915_request_commit(rq);
        __i915_request_queue(rq, &attr);
+       GEM_BUG_ON(rq->sched.attr.priority < I915_PRIORITY_BARRIER);
+       err = 0;
 
 out_unlock:
        mutex_unlock(&ce->timeline->mutex);
-- 
2.25.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to