diff --git a/drivers/gpu/drm/scheduler/sched_entity.c b/drivers/gpu/drm/scheduler/sched_entity.c index 4ebb513255ed..c51101ec70c1 100644 --- a/drivers/gpu/drm/scheduler/sched_entity.c +++ b/drivers/gpu/drm/scheduler/sched_entity.c @@ -129,7 +129,6 @@ int drm_sched_entity_init(struct drm_sched_entity *entity, return -ENOMEM; INIT_LIST_HEAD(&entity->list); - entity->rq = NULL; entity->guilty = guilty; entity->priority = priority; entity->last_user = current->group_leader; @@ -280,9 +279,6 @@ void drm_sched_entity_kill(struct drm_sched_entity *entity) struct drm_sched_job *job; struct dma_fence *prev; - if (!entity->rq) - return; - spin_lock(&entity->lock); entity->stopped = true; drm_sched_rq_remove_entity(entity->rq, entity); @@ -329,14 +325,11 @@ EXPORT_SYMBOL(drm_sched_entity_kill); */ long drm_sched_entity_flush(struct drm_sched_entity *entity, long timeout) { - struct drm_gpu_scheduler *sched; + struct drm_gpu_scheduler *sched = + container_of(entity->rq, typeof(*sched), rq); struct task_struct *last_user; long ret = timeout; - if (!entity->rq) - return 0; - - sched = container_of(entity->rq, typeof(*sched), rq); /* * The client will not queue more jobs during this fini - consume * existing queued ones, or discard them on SIGKILL. diff --git a/drivers/gpu/drm/scheduler/sched_main.c b/drivers/gpu/drm/scheduler/sched_main.c index 818d3d4434b5..d2ca01b31ee4 100644 --- a/drivers/gpu/drm/scheduler/sched_main.c +++ b/drivers/gpu/drm/scheduler/sched_main.c @@ -588,15 +588,6 @@ int drm_sched_job_init(struct drm_sched_job *job, u32 credits, void *owner, uint64_t drm_client_id) { - if (!entity->rq) { - /* This will most likely be followed by missing frames - * or worse--a blank screen--leave a trail in the - * logs, so this can be debugged easier. - */ - dev_err(job->sched->dev, "%s: entity has no rq!\n", __func__); - return -ENOENT; - } - if (unlikely(!credits)) { pr_err("*ERROR* %s: credits cannot be 0!\n", __func__); return -EINVAL;