From: Andrey Grodzovsky Date: Wed, 31 Oct 2018 14:23:05 +0000 (-0400) Subject: drm/amdgpu: Fix skipping hangged job reset during gpu recover. X-Git-Tag: v5.4-rc1~2273^2~1^2~5 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=734afd4b217f827e71b39abea10f5492c6f27606;p=platform%2Fkernel%2Flinux-rpi.git drm/amdgpu: Fix skipping hangged job reset during gpu recover. Problem: During GPU recover DAL would hang in amdgpu_pm_compute_clocks->amdgpu_fence_wait_empty Fix: Turns out there was a typo introduced by 3320b8d drm/amdgpu: remove job->ring which caused skipping amdgpu_fence_driver_force_completion and so the hangged job was never force signaled and this would cause the hang later in DAL. Signed-off-by: Andrey Grodzovsky Reviewed-by: Christian König Signed-off-by: Alex Deucher --- diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c index d11489e..f06d068 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c @@ -3341,7 +3341,7 @@ int amdgpu_device_gpu_recover(struct amdgpu_device *adev, kthread_park(ring->sched.thread); - if (job && job->base.sched == &ring->sched) + if (job && job->base.sched != &ring->sched) continue; drm_sched_hw_job_reset(&ring->sched, job ? &job->base : NULL);