From: Michal Privoznik Date: Thu, 17 May 2012 11:40:52 +0000 (+0200) Subject: qemu: Don't delete USB device on failed qemuPrepareHostdevUSBDevices X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=9c484e3dc5464dfbb538744360b401a0bc59c1c6;p=libvirt.git qemu: Don't delete USB device on failed qemuPrepareHostdevUSBDevices If qemuPrepareHostdevUSBDevices fail it will roll back devices added to the driver list of used devices. However, if it may fail because the device is being used already. But then again - with roll back. Therefore don't try to remove a usb device manually if the function fail. Although, we want to remove the device if any operation performed afterwards fail. --- diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index 9b608162fe..dfca7e2efc 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -1173,8 +1173,10 @@ int qemuDomainAttachHostDevice(struct qemud_driver *driver, goto cleanup; } - if (qemuPrepareHostdevUSBDevices(driver, vm->def->name, list) < 0) + if (qemuPrepareHostdevUSBDevices(driver, vm->def->name, list) < 0) { + usb = NULL; goto cleanup; + } usbDeviceListSteal(list, usb); }