On Tue, Oct 09, 2012 at 02:13:25PM +0200, Jiri Denemark wrote: > --- > src/qemu/qemu_cgroup.c | 2 ++ > src/qemu/qemu_command.c | 20 +++++++++++++++----- > src/qemu/qemu_hostdev.c | 20 +++++++++++++++----- > src/qemu/qemu_hostdev.h | 3 ++- > src/qemu/qemu_process.c | 2 +- > 5 files changed, 35 insertions(+), 12 deletions(-) > > diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c > index 09f412e..d590df6 100644 > --- a/src/qemu/qemu_command.c > +++ b/src/qemu/qemu_command.c > @@ -3507,17 +3507,21 @@ qemuBuildUSBHostdevDevStr(virDomainHostdevDefPtr dev, > { > virBuffer buf = VIR_BUFFER_INITIALIZER; > > - if (!dev->source.subsys.u.usb.bus && > + if (!dev->missing && > + !dev->source.subsys.u.usb.bus && > !dev->source.subsys.u.usb.device) { > virReportError(VIR_ERR_INTERNAL_ERROR, "%s", > _("USB host device is missing bus/device information")); > return NULL; > } > > - virBufferAsprintf(&buf, "usb-host,hostbus=%d,hostaddr=%d,id=%s", > - dev->source.subsys.u.usb.bus, > - dev->source.subsys.u.usb.device, > - dev->info->alias); > + virBufferAddLit(&buf, "usb-host"); > + if (!dev->missing) { > + virBufferAsprintf(&buf, ",hostbus=%d,hostaddr=%d", > + dev->source.subsys.u.usb.bus, > + dev->source.subsys.u.usb.device); > + } > + virBufferAsprintf(&buf, ",id=%s", dev->info->alias); I'm curious about this - it will result in -device usb-host,id=XXXXX shouldn't we actually just leave out the entire arg. I'm not sure what QEMU would do with such a device specification. Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :| -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list