video: rockchip: rga3: Fixup crash on rga_job_done

Signed-off-by: Li Huang <putin.li@rock-chips.com>
Change-Id: I0598cf3394673a3475b1fe6bb8a3a2ada00d1217
This commit is contained in:
Li Huang
2021-12-08 16:05:13 +08:00
committed by Tao Huang
parent c03ef5068c
commit 73b3051bda

View File

@@ -229,16 +229,17 @@ void rga_job_done(struct rga_scheduler_t *rga_scheduler, int ret)
rga_dma_put_info(job);
mmput(job->mm);
mmdrop(job->mm);
if (job->out_fence)
dma_fence_signal(job->out_fence);
wake_up(&rga_scheduler->job_done_wq);
if (job->flags & RGA_JOB_ASYNC)
rga_job_cleanup(job);
wake_up(&rga_scheduler->job_done_wq);
rga_job_next(rga_scheduler);
rga_power_disable(rga_scheduler);
@@ -566,6 +567,7 @@ static void rga_job_timeout_clean(struct rga_scheduler_t *scheduler)
rga_dma_put_info(job);
mmput(job->mm);
mmdrop(job->mm);
if (job->out_fence)
@@ -736,6 +738,7 @@ int rga_commit(struct rga_req *rga_command_base, int flags)
}
mmgrab(current->mm);
mmget(current->mm);
job->mm = current->mm;
if (flags == RGA_BLIT_ASYNC) {