drm/virtio: set non-cross device blob uuid_state
authorDavid Stevens <stevensd@chromium.org>
Wed, 11 Aug 2021 04:04:01 +0000 (13:04 +0900)
committerGerd Hoffmann <kraxel@redhat.com>
Thu, 12 Aug 2021 12:58:31 +0000 (14:58 +0200)
Blob resources without the cross device flag don't have a uuid to share
with other virtio devices. When exporting such blobs, set uuid_state to
STATE_ERR so that virtgpu_virtio_get_uuid doesn't hang.

Signed-off-by: David Stevens <stevensd@chromium.org>
Link: http://patchwork.freedesktop.org/patch/msgid/20210811040401.1264234-1-stevensd@chromium.org
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
drivers/gpu/drm/virtio/virtgpu_prime.c

index 807a27a..e45dbf1 100644 (file)
@@ -98,6 +98,8 @@ struct dma_buf *virtgpu_gem_prime_export(struct drm_gem_object *obj,
                } else {
                        bo->uuid_state = STATE_ERR;
                }
+       } else if (!(bo->blob_flags & VIRTGPU_BLOB_FLAG_USE_CROSS_DEVICE)) {
+               bo->uuid_state = STATE_ERR;
        }
 
        exp_info.ops = &virtgpu_dmabuf_ops.ops;