Signed-off-by: Andrea Bolognani <abologna@redhat.com>
---
src/qemu/qemu_domain.c | 29 ++++++++++++++---------------
1 file changed, 14 insertions(+), 15 deletions(-)
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index 74c393c2df..370831fa48 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -4421,22 +4421,21 @@ virDomainControllerModelUSB
qemuDomainDefaultUSBControllerModelAutoAdded(const virDomainDef *def,
virQEMUCaps *qemuCaps)
{
- virDomainControllerModelUSB model = VIR_DOMAIN_CONTROLLER_MODEL_USB_DEFAULT;
-
if (ARCH_IS_X86(def->os.arch)) {
if (qemuDomainIsQ35(def)) {
- /* Prefer adding a USB3 controller if supported, fall back
- * to USB2 if there is no USB3 available, and if that's
- * unavailable don't add anything.
- */
+ /* Prefer qemu-xhci or nec-xhci (USB3) */
if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_QEMU_XHCI))
- model = VIR_DOMAIN_CONTROLLER_MODEL_USB_QEMU_XHCI;
- else if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_NEC_USB_XHCI))
- model = VIR_DOMAIN_CONTROLLER_MODEL_USB_NEC_XHCI;
- else if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_ICH9_USB_EHCI1))
- model = VIR_DOMAIN_CONTROLLER_MODEL_USB_ICH9_EHCI1;
- else
- model = VIR_DOMAIN_CONTROLLER_MODEL_USB_NONE;
+ return VIR_DOMAIN_CONTROLLER_MODEL_USB_QEMU_XHCI;
+ if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_NEC_USB_XHCI))
+ return VIR_DOMAIN_CONTROLLER_MODEL_USB_NEC_XHCI;
+
+ /* Fall back to ich9-ehci1 (USB2) */
+ if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_ICH9_USB_EHCI1))
+ return VIR_DOMAIN_CONTROLLER_MODEL_USB_ICH9_EHCI1;
+
+ /* If neither USB3 nor USB2 are available, do not add
+ * the controller at all */
+ return VIR_DOMAIN_CONTROLLER_MODEL_USB_NONE;
}
}
@@ -4444,10 +4443,10 @@ qemuDomainDefaultUSBControllerModelAutoAdded(const virDomainDef *def,
if (STREQ(def->os.machine, "versatilepb") ||
STRPREFIX(def->os.machine, "realview-eb"))
if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_PCI_OHCI))
- model = VIR_DOMAIN_CONTROLLER_MODEL_USB_PCI_OHCI;
+ return VIR_DOMAIN_CONTROLLER_MODEL_USB_PCI_OHCI;
}
- return model;
+ return VIR_DOMAIN_CONTROLLER_MODEL_USB_DEFAULT;
}
--
2.51.0