
If we have gotten this far into creating the QEMU command line, either the user or some earlier code should have assigned a PCI address to the USB controller. If one is not present, that must mean there's a bug somewhere. Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- src/qemu/qemu_command.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index e8de386f30..f5a80f6955 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -2598,6 +2598,13 @@ qemuValidateDomainDeviceDefControllerUSB(const virDomainControllerDef *def, return -1; } + if (!virDeviceInfoPCIAddressIsPresent(&def->info)) { + virReportError(VIR_ERR_INTERNAL_ERROR, + _("Missing PCI address for USB controller idx=%1$d"), + def->idx); + return -1; + } + if (!virQEMUCapsGet(qemuCaps, qemuControllerModelUSBToCaps(def->model))) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("USB controller model '%1$s' not supported in this QEMU binary"), -- 2.50.1