From: Rayhan Faizel Date: Mon, 13 May 2024 13:55:03 +0000 (+0530) Subject: qemu_hotplug: Properly assign USB address to hotplugged usb-net device X-Git-Tag: v10.4.0-rc1~74 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ffebb557f16c1e04b6c7ae7753673efd0385c23a;p=thirdparty%2Flibvirt.git qemu_hotplug: Properly assign USB address to hotplugged usb-net device Previously, the network device hotplug logic would try to ensure only CCW or PCI addresses. With recent support for the usb-net model, this patch will ensure USB addresses for usb-net network devices. Resolves: https://gitlab.com/libvirt/libvirt/-/issues/14 Signed-off-by: Rayhan Faizel Reviewed-by: Michal Privoznik --- diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index 774962b0df..3b39941780 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -1159,8 +1159,11 @@ qemuDomainAttachNetDevice(virQEMUDriver *driver, goto cleanup; } - if (qemuDomainIsS390CCW(vm->def) && - net->info.type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI) { + if (net->model == VIR_DOMAIN_NET_MODEL_USB_NET) { + if (virDomainUSBAddressEnsure(priv->usbaddrs, &net->info) < 0) + goto cleanup; + } else if (qemuDomainIsS390CCW(vm->def) && + net->info.type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI) { net->info.type = VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW; if (!(ccwaddrs = virDomainCCWAddressSetCreateFromDomain(vm->def))) goto cleanup;