because if the fence is really signaled, it could already
released so the fence pointer is a wild pointer, but if
we use job->base.node we are safe because job will not
be released untill amdgpu_job_timedout finished.
Signed-off-by: Monk Liu <Monk.Liu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
if (job && j != i)
continue;
- /* here give the last chance to check if fence signaled
+ /* here give the last chance to check if job removed from mirror-list
* since we already pay some time on kthread_park */
- if (job && dma_fence_is_signaled(&job->base.s_fence->finished)) {
+ if (job && list_empty(&job->base.node)) {
kthread_unpark(ring->sched.thread);
goto give_up_reset;
}