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 <steve...@chromium.org>
---
 drivers/gpu/drm/virtio/virtgpu_prime.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/gpu/drm/virtio/virtgpu_prime.c 
b/drivers/gpu/drm/virtio/virtgpu_prime.c
index 807a27a16365..e45dbf14b307 100644
--- a/drivers/gpu/drm/virtio/virtgpu_prime.c
+++ b/drivers/gpu/drm/virtio/virtgpu_prime.c
@@ -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;
-- 
2.32.0.605.g8dce9f2422-goog

Reply via email to