mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 03:15:31 +09:00
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:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user