[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [libvirt] [PATCH v2 2/3] qemu: make use of usb search function to initialize usb devices

On 05/03/2012 01:29 AM, Eric Blake wrote:
On 05/01/2012 02:16 AM, Guannan Ren wrote:
refactor qemuPrepareHostdevUSBDevices function, make it focus on
adding usb device to activeUsbHostdevs after check. After that,
the usb hotplug function qemuDomainAttachHostDevice also could use

expand qemuPrepareHostUSBDevices to perform the usb search,
rollback on failure.

+        if (vendor&&  bus) {
+            usb = usbFindDevice(vendor, product, bus, device);
Can bus be 0, or does the USB bus numbering start with 1?  If 0 is a
valid bus number, then you need to know whether bus was specified, not
whether it is non-zero.

    Bus number start with 1,
    # ls /sys/bus/usb/devices/
       1-0:1.0 1-1.3 1-1.3.1:1.0 1-1:1.0 1-1 1-1.3.1 1-1.3:1.0 usb1

    The names that begin with "usb" refer to USB controllers.
More accurately, they refer to the "root hub" associated with each controller. The number is the USB bus number. In the example there is only one controller,
    so its bus is number 1. Hence the name "usb1"


If bus is specified, bus should be greater than zero( it will be ignored to specify zero)
    if not specified,  usbFindDevByVendor is invoked to get device.

+        } else if (vendor&&  !bus) {
+            usbDeviceList *devs = usbFindDevByVendor(vendor, product);
+            if (!devs)
+                goto cleanup;
+            if (usbDeviceListCount(devs)>  1) {
+                qemuReportError(VIR_ERR_XML_ERROR,
+                                _("multiple USB deivces %x:%x, "

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]