---
hw/virtio/virtio-iommu.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/hw/virtio/virtio-iommu.c b/hw/virtio/virtio-iommu.c
index b9a7ddcd14..b708fb96fd 100644
--- a/hw/virtio/virtio-iommu.c
+++ b/hw/virtio/virtio-iommu.c
@@ -543,10 +543,15 @@ static int virtio_iommu_set_host_iova_ranges(VirtIOIOMMU
*s, PCIBus *bus,
int ret = -EINVAL;
if (!sbus) {
- error_report("%s no sbus", __func__);
+ error_setg(errp, "%s: no IOMMUPciBus found!", __func__);
+ return ret;
}
sdev = sbus->pbdev[devfn];
+ if (!sdev) {
+ error_setg(errp, "%s: no IOMMUDevice found!", __func__);
+ return ret;
+ }
current_ranges = sdev->host_resv_ranges;