Skip to content
  • Hans de Goede's avatar
    usb-linux: Get the alt. setting from sysfs rather then asking the dev · c43831fb
    Hans de Goede authored
    
    
    At least one device I have lies when receiving a USB_REQ_GET_INTERFACE,
    always returning 0 even if the alternate setting is different. This is
    likely caused because in practice this control message is never used as
    the operating system's usb stack knows which alternate setting it has
    told the device to get into, and thus this ctrl message does not get
    tested by device manufacturers.
    
    When usb_fs_type == USB_FS_SYS, the active alt. setting can be read directly
    from sysfs, which allows using this device through qemu's usb redirection.
    More in general it seems a good idea to not send needless control msg's to
    devices, esp. as the code in question is called every time a set_interface
    is done. Which happens multiple times during virtual machine startup, and
    when device drivers are activating the usb device.
    
    Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
    c43831fb