RDMA: use dma_resv_wait() instead of extracting the fence
authorChristian König <christian.koenig@amd.com>
Wed, 22 Sep 2021 11:01:04 +0000 (13:01 +0200)
committerChristian König <christian.koenig@amd.com>
Thu, 24 Mar 2022 09:09:20 +0000 (10:09 +0100)
Use dma_resv_wait() instead of extracting the exclusive fence and
waiting on it manually.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Acked-by: Jason Gunthorpe <jgg@nvidia.com>
Cc: Jason Gunthorpe <jgg@ziepe.ca>
Cc: Leon Romanovsky <leon@kernel.org>
Cc: Maor Gottlieb <maorg@nvidia.com>
Cc: Gal Pressman <galpress@amazon.com>
Cc: linux-media@vger.kernel.org
Cc: linaro-mm-sig@lists.linaro.org
Link: https://patchwork.freedesktop.org/patch/msgid/20220321135856.1331-4-christian.koenig@amd.com
drivers/infiniband/core/umem_dmabuf.c

index f0760741f281dbac83d1d74db06e949a64c98fd8..d32cd7538835ecd858ff754c30f869482dbfad24 100644 (file)
@@ -16,7 +16,6 @@ int ib_umem_dmabuf_map_pages(struct ib_umem_dmabuf *umem_dmabuf)
 {
        struct sg_table *sgt;
        struct scatterlist *sg;
-       struct dma_fence *fence;
        unsigned long start, end, cur = 0;
        unsigned int nmap = 0;
        int i;
@@ -68,11 +67,8 @@ wait_fence:
         * may be not up-to-date. Wait for the exporter to finish
         * the migration.
         */
-       fence = dma_resv_excl_fence(umem_dmabuf->attach->dmabuf->resv);
-       if (fence)
-               return dma_fence_wait(fence, false);
-
-       return 0;
+       return dma_resv_wait_timeout(umem_dmabuf->attach->dmabuf->resv, false,
+                                    false, MAX_SCHEDULE_TIMEOUT);
 }
 EXPORT_SYMBOL(ib_umem_dmabuf_map_pages);