aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/dma-buf/sync_file.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2017-07-21 17:16:42 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2017-07-21 17:16:42 -0400
commit24a1635a41bccb5cc426eaef8b88c7e0961ef6bb (patch)
treeeefc2f6d4a2bacd056d119d9331447e227bf5652 /drivers/dma-buf/sync_file.c
parentf79ec886f994918de057dd224fa2dfdc162bb3c3 (diff)
parent5896ec77d70d33dd38a455b0aa5f3154aeecea09 (diff)
Merge tag 'drm-fixes-for-v4.13-rc2' of git://people.freedesktop.org/~airlied/linux
Pull drm fixes from Dave Airlie: "A bunch of fixes for rc2: two imx regressions, vc4 fix, dma-buf fix, some displayport mst fixes, and an amdkfd fix. Nothing too crazy, I assume we just haven't see much rc1 testing yet" * tag 'drm-fixes-for-v4.13-rc2' of git://people.freedesktop.org/~airlied/linux: drm/mst: Avoid processing partially received up/down message transactions drm/mst: Avoid dereferencing a NULL mstb in drm_dp_mst_handle_up_req() drm/mst: Fix error handling during MST sideband message reception drm/imx: parallel-display: Accept drm_of_find_panel_or_bridge failure drm/imx: fix typo in ipu_plane_formats[] drm/vc4: Fix VBLANK handling in crtc->enable() path dma-buf/fence: Avoid use of uninitialised timestamp drm/amdgpu: Remove unused field kgd2kfd_shared_resources.num_mec drm/radeon: Remove initialization of shared_resources.num_mec drm/amdkfd: Remove unused references to shared_resources.num_mec drm/amdgpu: Fix KFD oversubscription by tracking queues correctly
Diffstat (limited to 'drivers/dma-buf/sync_file.c')
-rw-r--r--drivers/dma-buf/sync_file.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/dma-buf/sync_file.c b/drivers/dma-buf/sync_file.c
index 545e2c5c4815..d7e219d2669d 100644
--- a/drivers/dma-buf/sync_file.c
+++ b/drivers/dma-buf/sync_file.c
@@ -391,7 +391,13 @@ static void sync_fill_fence_info(struct dma_fence *fence,
391 sizeof(info->driver_name)); 391 sizeof(info->driver_name));
392 392
393 info->status = dma_fence_get_status(fence); 393 info->status = dma_fence_get_status(fence);
394 info->timestamp_ns = ktime_to_ns(fence->timestamp); 394 while (test_bit(DMA_FENCE_FLAG_SIGNALED_BIT, &fence->flags) &&
395 !test_bit(DMA_FENCE_FLAG_TIMESTAMP_BIT, &fence->flags))
396 cpu_relax();
397 info->timestamp_ns =
398 test_bit(DMA_FENCE_FLAG_TIMESTAMP_BIT, &fence->flags) ?
399 ktime_to_ns(fence->timestamp) :
400 ktime_set(0, 0);
395} 401}
396 402
397static long sync_file_ioctl_fence_info(struct sync_file *sync_file, 403static long sync_file_ioctl_fence_info(struct sync_file *sync_file,