diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index 2033c7dd0a32c6c562bf5ce3e78375b0c7321402..7de04c85a29edff21b403604c79380852a95017c 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -3319,11 +3319,19 @@ qemuDomainChangeNet(virQEMUDriverPtr driver, } if (needBandwidthSet) { - if (virNetDevBandwidthSet(newdev->ifname, - virDomainNetGetActualBandwidth(newdev), - false, - !virDomainNetTypeSharesHostView(newdev)) < 0) - goto cleanup; + virNetDevBandwidthPtr newb = virDomainNetGetActualBandwidth(newdev); + + if (newb) { + if (virNetDevBandwidthSet(newdev->ifname, newb, false, + !virDomainNetTypeSharesHostView(newdev)) < 0) + goto cleanup; + } else { + /* + * virNetDevBandwidthSet() doesn't clear any existing + * setting unless something new is being set. + */ + virNetDevBandwidthClear(newdev->ifname); + } needReplaceDevDef = true; }