Add a print explaining why vhost_vdpa_alloc_domain failed if the device
is not IOMMU cache coherent capable.
Without this print, we have no hint why the operation failed.
For example:
$ virsh start <domain>
error: Failed to start domain <domain>
error: Unable to open '/dev/vhost-vdpa-<idx>' for vdpa device:
Unknown error 524
Suggested-by: Eugenio Perez Martin <[email protected]>
Signed-off-by: Alvaro Karsz <[email protected]>
---
drivers/vhost/vdpa.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/vhost/vdpa.c b/drivers/vhost/vdpa.c
index 23db92388393..56287506aa0d 100644
--- a/drivers/vhost/vdpa.c
+++ b/drivers/vhost/vdpa.c
@@ -1151,8 +1151,11 @@ static int vhost_vdpa_alloc_domain(struct vhost_vdpa *v)
if (!bus)
return -EFAULT;
- if (!device_iommu_capable(dma_dev, IOMMU_CAP_CACHE_COHERENCY))
+ if (!device_iommu_capable(dma_dev, IOMMU_CAP_CACHE_COHERENCY)) {
+ dev_err(&v->dev,
+ "Failed to allocate domain, device is not IOMMU cache
coherent capable\n");
return -ENOTSUPP;
+ }
v->domain = iommu_domain_alloc(bus);
if (!v->domain)
--
2.34.1
_______________________________________________
Virtualization mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/virtualization