reservation: revert "wait only with non-zero timeout specified (v3)" v2
authorChristian König <christian.koenig@amd.com>
Mon, 7 Nov 2016 21:16:16 +0000 (16:16 -0500)
committerSumit Semwal <sumit.semwal@linaro.org>
Tue, 8 Nov 2016 19:18:57 +0000 (00:48 +0530)
Reverts commit fb8b7d2b9d80
("reservation: wait only with non-zero timeout specified (v3)")

Otherwise signaling might never be activated on the fences. This can
result in infinite waiting with hardware which has unreliable interrupts.

v2: still return one when the timeout is zero and we don't have any fences.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Chunming Zhou <david1.zhou@amd.com> (v1)
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org>
  [sumits: fix checkpatch warnings]
Link: http://patchwork.freedesktop.org/patch/msgid/1478553376-18575-4-git-send-email-alexander.deucher@amd.com
drivers/dma-buf/reservation.c

index 7ed56f3edfb70bbb15e6c39954c465398974eb81..393817e849ed2a662e8696867bb1297dad9c5397 100644 (file)
@@ -370,10 +370,7 @@ long reservation_object_wait_timeout_rcu(struct reservation_object *obj,
 {
        struct dma_fence *fence;
        unsigned seq, shared_count, i = 0;
-       long ret = timeout;
-
-       if (!timeout)
-               return reservation_object_test_signaled_rcu(obj, wait_all);
+       long ret = timeout ? timeout : 1;
 
 retry:
        fence = NULL;