From 8f5e50e003ece6177634736c2914872d91c71e4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A1n=20Tomko?= Date: Tue, 15 Jan 2019 16:28:55 +0100 Subject: [PATCH] qemu: separate counting of USB controllers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit qemuBuildLegacyUSBControllerCommandLine is the only place where we need to count the USB controllers. Count them again instead of keeping track in a variable passed to qemuBuildControllerDevStr. This removes the need for another variable in the loop in qemuBuildControllerDevCommandLine. Signed-off-by: Ján Tomko Reviewed-by: Cole Robinson --- src/qemu/qemu_command.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 04b64c4f1c..df6a331d14 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -3063,11 +3063,11 @@ qemuBuildDomainForbidLegacyUSBController(const virDomainDef *def) static int qemuBuildLegacyUSBControllerCommandLine(virCommandPtr cmd, - const virDomainDef *def, - int usbcontroller) + const virDomainDef *def) { size_t i; size_t nlegacy = 0; + size_t nusb = 0; for (i = 0; i < def->ncontrollers; i++) { virDomainControllerDefPtr cont = def->controllers[i]; @@ -3081,6 +3081,8 @@ qemuBuildLegacyUSBControllerCommandLine(virCommandPtr cmd, if (cont->model == VIR_DOMAIN_CONTROLLER_MODEL_USB_DEFAULT) nlegacy++; + else + nusb++; } if (nlegacy > 1) { @@ -3090,7 +3092,7 @@ qemuBuildLegacyUSBControllerCommandLine(virCommandPtr cmd, return -1; } - if (usbcontroller == 0 && + if (nusb == 0 && !qemuBuildDomainForbidLegacyUSBController(def) && !ARCH_IS_S390(def->os.arch)) { /* We haven't added any USB controller yet, but we haven't been asked @@ -3227,7 +3229,7 @@ qemuBuildControllerDevCommandLine(virCommandPtr cmd, } } - if (qemuBuildLegacyUSBControllerCommandLine(cmd, def, usbcontroller) < 0) + if (qemuBuildLegacyUSBControllerCommandLine(cmd, def) < 0) goto cleanup; ret = 0; -- GitLab