OSDN Git Service

dma-buf: dma_fence_wait must enable signaling
authorArvind Yadav <Arvind.Yadav@amd.com>
Wed, 14 Sep 2022 16:43:19 +0000 (22:13 +0530)
committerChristian König <christian.koenig@amd.com>
Fri, 16 Sep 2022 13:53:25 +0000 (15:53 +0200)
dma_fence_wait() should always enable signaling even
when the fence is already signaled.

Signed-off-by: Arvind Yadav <Arvind.Yadav@amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220914164321.2156-5-Arvind.Yadav@amd.com
Signed-off-by: Christian König <christian.koenig@amd.com>
drivers/dma-buf/dma-fence.c

index 645c158..a5fbf1c 100644 (file)
@@ -508,6 +508,8 @@ dma_fence_wait_timeout(struct dma_fence *fence, bool intr, signed long timeout)
 
        __dma_fence_might_wait();
 
+       dma_fence_enable_sw_signaling(fence);
+
        trace_dma_fence_wait_start(fence);
        if (fence->ops->wait)
                ret = fence->ops->wait(fence, intr, timeout);
@@ -771,9 +773,6 @@ dma_fence_default_wait(struct dma_fence *fence, bool intr, signed long timeout)
                goto out;
        }
 
-       if (!__dma_fence_enable_signaling(fence))
-               goto out;
-
        if (!timeout) {
                ret = 0;
                goto out;