video: rockchip: rga3: Modify the judgment of the return value of the func

for wait_event_interruptible_timeout

Signed-off-by: Li Huang <putin.li@rock-chips.com>
Change-Id: I762f5dde14a3ce42e5642f07ef5249bf4492c038
This commit is contained in:
Li Huang
2021-12-08 17:21:19 +08:00
committed by Tao Huang
parent 73b3051bda
commit 37f6035a12

View File

@@ -673,12 +673,17 @@ static inline int rga_job_wait(struct rga_scheduler_t *rga_scheduler,
left_time = wait_event_interruptible_timeout(rga_scheduler->job_done_wq,
job->flags & RGA_JOB_DONE, RGA_SYNC_TIMEOUT_DELAY);
if (left_time <= 0) {
ret = left_time < 0 ? left_time : -ETIMEDOUT;
if (ret < 0)
rga_scheduler->ops->soft_reset(rga_scheduler);
return ret;
switch (left_time) {
case 0:
pr_err("%s timeout", __func__);
ret = -EBUSY;
break;
case -ERESTARTSYS:
ret = -ERESTARTSYS;
break;
default:
ret = 0;
break;
}
now = ktime_get();
@@ -687,7 +692,7 @@ static inline int rga_job_wait(struct rga_scheduler_t *rga_scheduler,
pr_err("%s use time = %lld\n", __func__,
ktime_to_us(ktime_sub(now, job->timestamp)));
return 0;
return ret;
}
static void rga_input_fence_signaled(struct dma_fence *fence,
@@ -823,7 +828,6 @@ int rga_commit(struct rga_req *rga_command_base, int flags)
ret = rga_job_wait(scheduler, job);
if (ret < 0) {
pr_err("failed to wait rga job! May be timeout\n");
goto running_job_abort;
}
@@ -879,7 +883,6 @@ int rga_kernel_commit(struct rga_req *rga_command_base,
ret = rga_job_wait(scheduler, job);
if (ret < 0) {
pr_err("failed to wait rga job! May be timeout\n");
goto running_job_abort;
}
rga_job_cleanup(job);