From e240feae95e558ea546178dc28a51be81d2682ae Mon Sep 17 00:00:00 2001 From: Michal Privoznik Date: Thu, 17 May 2012 13:40:52 +0200 Subject: [PATCH] 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. (cherry picked from commit 9c484e3dc5464dfbb538744360b401a0bc59c1c6) --- src/qemu/qemu_hotplug.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index 409d28841d..a91c7095e6 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); }