diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index bede4e3ccd..40489b84db 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -1674,15 +1674,16 @@ qemuDomainAttachHostPCIDevice(virQEMUDriver *driver, if (teardownmemlock && qemuDomainAdjustMaxMemLock(vm) < 0) VIR_WARN("Unable to reset maximum locked memory on hotplug fail"); - if (removeiommufd) { - qemuDomainObjEnterMonitor(vm); + qemuDomainObjEnterMonitor(vm); + + if (removeiommufd) ignore_value(qemuMonitorDelObject(priv->mon, "iommufd0", false)); - qemuDomainObjExitMonitor(vm); - } qemuFDPassDirectTransferMonitorRollback(hostdevPriv->vfioDeviceFd, priv->mon); qemuFDPassDirectTransferMonitorRollback(priv->iommufd, priv->mon); + qemuDomainObjExitMonitor(vm); + if (releaseaddr) qemuDomainReleaseDeviceAddress(vm, info);