wait for infinite time for fences in function amdgpu_userq_wait_for_signal
and for that use dma_fence_wait(f, false);

Suggested-by: Christian König <[email protected]>
Signed-off-by: Sunil Khatri <[email protected]>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c | 15 +++------------
 1 file changed, 3 insertions(+), 12 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c
index fdae8c411aaa..a98118898832 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c
@@ -1279,29 +1279,20 @@ void amdgpu_userq_reset_work(struct work_struct *work)
        amdgpu_device_gpu_recover(adev, NULL, &reset_context);
 }
 
-static int
+static void
 amdgpu_userq_wait_for_signal(struct amdgpu_userq_mgr *uq_mgr)
 {
        struct amdgpu_usermode_queue *queue;
        unsigned long queue_id;
-       int ret;
 
        xa_for_each(&uq_mgr->userq_xa, queue_id, queue) {
                struct dma_fence *f = queue->last_fence;
 
-               if (!f || dma_fence_is_signaled(f))
+               if (!f)
                        continue;
 
-               ret = dma_fence_wait_timeout(f, true, msecs_to_jiffies(100));
-               if (ret <= 0) {
-                       drm_file_err(uq_mgr->file, "Timed out waiting for 
fence=%llu:%llu\n",
-                                    f->context, f->seqno);
-
-                       return -ETIMEDOUT;
-               }
+               dma_fence_wait(f, false);
        }
-
-       return 0;
 }
 
 void
-- 
2.34.1

Reply via email to