From dab3d5d350a840621f79e390abe42a1fea13d750 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A1n=20Tomko?= Date: Tue, 15 Jan 2019 16:15:39 +0100 Subject: [PATCH] qemu: separate counting of legacy USB controllers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Count them in qemuBuildLegacyUSBControllerCommandLine to remove yet another variable accessed from the loop in qemuBuildControllerDevCommandLine. Signed-off-by: Ján Tomko Reviewed-by: Cole Robinson --- src/qemu/qemu_command.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 82c2a47f5e..04b64c4f1c 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -3067,6 +3067,7 @@ qemuBuildLegacyUSBControllerCommandLine(virCommandPtr cmd, int usbcontroller) { size_t i; + size_t nlegacy = 0; for (i = 0; i < def->ncontrollers; i++) { virDomainControllerDefPtr cont = def->controllers[i]; @@ -3077,6 +3078,16 @@ qemuBuildLegacyUSBControllerCommandLine(virCommandPtr cmd, /* If we have mode='none', there are no other USB controllers */ if (cont->model == VIR_DOMAIN_CONTROLLER_MODEL_USB_NONE) return 0; + + if (cont->model == VIR_DOMAIN_CONTROLLER_MODEL_USB_DEFAULT) + nlegacy++; + } + + if (nlegacy > 1) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("Multiple legacy USB controllers are " + "not supported")); + return -1; } if (usbcontroller == 0 && @@ -3137,7 +3148,6 @@ qemuBuildControllerDevCommandLine(virCommandPtr cmd, { size_t i, j; int usbcontroller = 0; - bool usblegacy = false; int contOrder[] = { /* * List of controller types that we add commandline args for, @@ -3197,13 +3207,6 @@ qemuBuildControllerDevCommandLine(virCommandPtr cmd, * (see 548ba43028 for the full story), so we skip * qemuBuildControllerDevStr() but we don't ultimately end * up adding the legacy USB controller */ - if (usblegacy) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("Multiple legacy USB controllers are " - "not supported")); - goto cleanup; - } - usblegacy = true; continue; } -- GitLab