drm/amdgpu:use job's list instead of check fence
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>
This commit is contained in:
@@ -2644,9 +2644,9 @@ int amdgpu_sriov_gpu_reset(struct amdgpu_device *adev, struct amdgpu_job *job)
|
|||||||
if (job && j != i)
|
if (job && j != i)
|
||||||
continue;
|
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 */
|
* 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);
|
kthread_unpark(ring->sched.thread);
|
||||||
goto give_up_reset;
|
goto give_up_reset;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user