Comment 17 for bug 1082213

Revision history for this message
In , Ken (ken-redhat-bugs) wrote :

Suggested fix ...

$ diff src/qemu/qemu_hostdev.c src/qemu/qemu_hostdev-modified.c
597,599c597,613
< usbDevice *usb
< = usbFindDevice(hostdev->source.subsys.u.usb.vendor,
< hostdev->source.subsys.u.usb.product);
---
> if (hostdev->source.subsys.u.usb.bus) {
> usbDevice *usb
> = usbGetDevice(hostdev->source.subsys.u.usb.bus,
> hostdev->source.subsys.u.usb.device);
> if ((hostdev->source.subsys.u.usb.vendor != usb->vendor) ||
> (hostdev->source.subsys.u.usb.product != usb->product)) {
> qemuReportError(VIR_ERR_OPERATION_INVALID,
> _("USB device %s does not match vendor product id"),
> usbDeviceGetName(tmp));
> usbFreeDevice(usb);
> goto cleanup;
> }
> } else {
> usbDevice *usb
> = usbFindDevice(hostdev->source.subsys.u.usb.vendor,
> hostdev->source.subsys.u.usb.product);
> }