Michael S. Tsirkin
2023-Feb-01 15:52 UTC
[PATCH] vhost-vdpa: print error when vhost_vdpa_alloc_domain fails
On Wed, Feb 01, 2023 at 05:20:18PM +0200, Alvaro Karsz wrote:> 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 <eperezma at redhat.com> > Signed-off-by: Alvaro Karsz <alvaro.karsz at solid-run.com>I'm not sure this is a good idea. Userspace is not supposed to be able to trigger dev_err.> --- > 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