On 3/31/26 15:46, Sunil Khatri wrote: > 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]>
Assuming that compile fine even as stand alone patch: Reviewed-by: Christian König <[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
