diff options
| author | Dave Airlie <airlied@redhat.com> | 2025-07-04 09:06:56 +1000 |
|---|---|---|
| committer | Dave Airlie <airlied@redhat.com> | 2025-07-04 09:06:57 +1000 |
| commit | b91e11ec5cd972dc39121496c3a0cf2ec2e9a393 (patch) | |
| tree | 2b44cbf37bc8c81f9605baeb24419f81ca2ff816 /drivers/dma-buf/dma-resv.c | |
| parent | bf906c988d77d9cdfb52a7d19ad9b183991271a3 (diff) | |
| parent | 226862f50a7a88e4e4de9abbf36c64d19acd6fd0 (diff) | |
Merge tag 'drm-misc-fixes-2025-07-03' of https://gitlab.freedesktop.org/drm/misc/kernel into drm-fixes
drm-misc-fixes for v6.16-rc5:
- Replace simple panel lookup hack with proper fix.
- nullpointer deref in vesadrm fix.
- fix dma_resv_wait_timeout.
- fix error handling in ttm_buffer_object_transfer.
- bridge fixes.
- Fix vmwgfx accidentally allocating encrypted memory.
- Fix race in spsc_queue_push()
- Add refcount on backing GEM objects during fb creation.
- Fix v3d irq's being enabled during gpu reset.
Signed-off-by: Dave Airlie <airlied@redhat.com>
From: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Link: https://lore.kernel.org/r/a7461418-08dc-4b7c-b2fa-264155f66d5e@linux.intel.com
Diffstat (limited to 'drivers/dma-buf/dma-resv.c')
| -rw-r--r-- | drivers/dma-buf/dma-resv.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/drivers/dma-buf/dma-resv.c b/drivers/dma-buf/dma-resv.c index b1ef4546346d..bea3e9858aca 100644 --- a/drivers/dma-buf/dma-resv.c +++ b/drivers/dma-buf/dma-resv.c @@ -685,11 +685,13 @@ long dma_resv_wait_timeout(struct dma_resv *obj, enum dma_resv_usage usage, dma_resv_iter_begin(&cursor, obj, usage); dma_resv_for_each_fence_unlocked(&cursor, fence) { - ret = dma_fence_wait_timeout(fence, intr, ret); - if (ret <= 0) { - dma_resv_iter_end(&cursor); - return ret; - } + ret = dma_fence_wait_timeout(fence, intr, timeout); + if (ret <= 0) + break; + + /* Even for zero timeout the return value is 1 */ + if (timeout) + timeout = ret; } dma_resv_iter_end(&cursor); |
