diff options
Diffstat (limited to 'drivers/gpu/drm/i915/gt/intel_engine_heartbeat.c')
| -rw-r--r-- | drivers/gpu/drm/i915/gt/intel_engine_heartbeat.c | 8 | 
1 files 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);  | 
