From: Ján Tomko Date: Tue, 15 Jan 2019 14:46:39 +0000 (+0100) Subject: qemu: exit early if USB_CONTROLLER_MODEL_NONE is present X-Git-Tag: v5.1.0-rc1~370 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=79c7cbaf46682c41cc4b6967868fcc79468f1a35;p=thirdparty%2Flibvirt.git qemu: exit early if USB_CONTROLLER_MODEL_NONE is present This removes the need to mark it in the 'usbcontroller' variable. Signed-off-by: Ján Tomko Reviewed-by: Cole Robinson --- diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 4ff526df3e..e108ad1e86 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -3054,6 +3054,19 @@ qemuBuildLegacyUSBControllerCommandLine(virCommandPtr cmd, const virDomainDef *def, int usbcontroller) { + size_t i; + + for (i = 0; i < def->ncontrollers; i++) { + virDomainControllerDefPtr cont = def->controllers[i]; + + if (cont->type != VIR_DOMAIN_CONTROLLER_TYPE_USB) + continue; + + /* If we have mode='none', there are no other USB controllers */ + if (cont->model == VIR_DOMAIN_CONTROLLER_MODEL_USB_NONE) + return 0; + } + if (usbcontroller == 0 && !qemuDomainIsQ35(def) && !qemuDomainIsARMVirt(def) && @@ -3155,7 +3168,6 @@ qemuBuildControllerDevCommandLine(virCommandPtr cmd, /* skip USB controllers with type none.*/ if (cont->type == VIR_DOMAIN_CONTROLLER_TYPE_USB && cont->model == VIR_DOMAIN_CONTROLLER_MODEL_USB_NONE) { - usbcontroller = -1; /* mark we don't want a controller */ continue; }