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