summaryrefslogtreecommitdiffstats
path: root/drivers/dma-buf
diff options
context:
space:
mode:
authorChristian König <christian.koenig@amd.com>2016-11-07 16:16:16 -0500
committerSumit Semwal <sumit.semwal@linaro.org>2016-11-09 00:48:57 +0530
commit06a66b5c77ede71f0601f4710284ca1076e673fa (patch)
tree8685a3aa1169f00f2d9015b679e12dcc9b574090 /drivers/dma-buf
parent98a6dd909bbd247ce10f36ce709906bc5e9dfeb0 (diff)
downloadlinux-stable-06a66b5c77ede71f0601f4710284ca1076e673fa.tar.gz
linux-stable-06a66b5c77ede71f0601f4710284ca1076e673fa.tar.bz2
linux-stable-06a66b5c77ede71f0601f4710284ca1076e673fa.zip
reservation: revert "wait only with non-zero timeout specified (v3)" v2
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
Diffstat (limited to 'drivers/dma-buf')
-rw-r--r--drivers/dma-buf/reservation.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/drivers/dma-buf/reservation.c b/drivers/dma-buf/reservation.c
index 7ed56f3edfb7..393817e849ed 100644
--- a/drivers/dma-buf/reservation.c
+++ b/drivers/dma-buf/reservation.c
@@ -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;