Hi Rob, On Thu, 25 Oct 2018 at 19:38, Robert Foss <robert.foss@xxxxxxxxxxxxx> wrote: > @@ -124,6 +127,22 @@ static int virtio_gpu_execbuffer_ioctl(struct drm_device *dev, void *data, > if ((exbuf->flags & ~VIRTGPU_EXECBUF_FLAGS)) > return -EINVAL; > > + if (exbuf->flags & VIRTGPU_EXECBUF_FENCE_FD_IN) { > + in_fence = sync_file_get_fence(in_fence_fd); > + if (!in_fence) > + return -EINVAL; > + > + /* > + * Wait if the fence is from a foreign context, or if the fence > + * array contains any fence from a foreign context. > + */ > + if (!dma_fence_match_context(in_fence, vgdev->fence_drv.context)) { > + ret = dma_fence_wait(in_fence, true); > + if (ret) > + return ret; Aren't we missing dma_fence_put() before the return here? With that Reviewed-by: Emil Velikov <emil.velikov@xxxxxxxxxxxxx> -Emil _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel