drm/virtio: fix missing dma_fence_put() in virtio_gpu_execbuffer_ioctl()
authorQi Liu <liuqi.16@bytedance.com>
Tue, 21 Jul 2020 10:16:47 +0000 (18:16 +0800)
committerGerd Hoffmann <kraxel@redhat.com>
Fri, 7 Aug 2020 11:55:54 +0000 (13:55 +0200)
We should put the reference count of the fence after calling
virtio_gpu_cmd_submit(). So add the missing dma_fence_put().

Fixes: 2cd7b6f08bc4 ("drm/virtio: add in/out fence support for explicit synchronization")
Co-developed-by: Xin He <hexin.op@bytedance.com>
Signed-off-by: Xin He <hexin.op@bytedance.com>
Signed-off-by: Qi Liu <liuqi.16@bytedance.com>
Reviewed-by: Muchun Song <songmuchun@bytedance.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20200721101647.42653-1-hexin.op@bytedance.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
drivers/gpu/drm/virtio/virtgpu_ioctl.c

index 5df722072ba0b95998719f841a4d00ca7ae5debc..19c5bc01eb790d7ab970b3d4273a4daeb08e6672 100644 (file)
@@ -179,6 +179,7 @@ static int virtio_gpu_execbuffer_ioctl(struct drm_device *dev, void *data,
 
        virtio_gpu_cmd_submit(vgdev, buf, exbuf->size,
                              vfpriv->ctx_id, buflist, out_fence);
+       dma_fence_put(&out_fence->f);
        virtio_gpu_notify(vgdev);
        return 0;