diff --git a/drivers/video/rockchip/rga3/rga_job.c b/drivers/video/rockchip/rga3/rga_job.c index bec9bd47df2f..7810dfcb9968 100644 --- a/drivers/video/rockchip/rga3/rga_job.c +++ b/drivers/video/rockchip/rga3/rga_job.c @@ -355,8 +355,14 @@ static void rga_job_insert_todo_list(struct rga_job *job) static struct rga_scheduler_t *rga_job_schedule(struct rga_job *job) { + int i; struct rga_scheduler_t *scheduler = NULL; + for (i = 0; i < rga_drvdata->num_of_scheduler; i++) { + scheduler = rga_drvdata->scheduler[i]; + rga_job_scheduler_timeout_clean(scheduler); + } + if (rga_drvdata->num_of_scheduler > 1) { job->core = rga_job_assign(job); if (job->core <= 0) { @@ -376,8 +382,6 @@ static struct rga_scheduler_t *rga_job_schedule(struct rga_job *job) return NULL; } - rga_job_scheduler_timeout_clean(scheduler); - return scheduler; }