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