Just also wait for user fences to signal when we wait for write fences.

Signed-off-by: Christian König <christian.koe...@amd.com>
---
 drivers/dma-buf/dma-buf.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/drivers/dma-buf/dma-buf.c b/drivers/dma-buf/dma-buf.c
index 79795857be3e..5558f4e555f8 100644
--- a/drivers/dma-buf/dma-buf.c
+++ b/drivers/dma-buf/dma-buf.c
@@ -225,6 +225,16 @@ static bool dma_buf_poll_add_cb(struct dma_resv *resv, 
bool write,
                dma_fence_put(fence);
        }
 
+       if (!write)
+               return false;
+
+       dma_resv_for_each_fence(&cursor, resv, DMA_RESV_USAGE_USER, fence) {
+               dma_fence_get(fence);
+               r = dma_fence_add_callback(fence, &dcb->cb, dma_buf_poll_cb);
+               if (!r)
+                       return true;
+               dma_fence_put(fence);
+       }
        return false;
 }
 
-- 
2.25.1

Reply via email to