Package: libusb-1.0 / 2:1.0.24-3

Metadata

Package Version Patches format
libusb-1.0 2:1.0.24-3 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
01 linux_usbfs Fix parsing of descriptors for multi con.patch | (download)

libusb/os/linux_usbfs.c | 12 8 + 4 - 0 !
1 file changed, 8 insertions(+), 4 deletions(-)

 [patch] linux_usbfs: fix parsing of descriptors for
 multi-configuration devices

Commit e2be556bd2 ("linux_usbfs: Parse config descriptors during device
initialization") introduced a regression for devices with multiple
configurations. The logic that verifies the reported length of the
configuration descriptors failed to count the length of the
configuration descriptor itself and would truncate the actual length by
9 bytes, leading to a parsing error for subsequent descriptors.

Closes #825

Signed-off-by: Chris Dickens <christopher.a.dickens@gmail.com>

02 linux_usbfs Gracefully handle buggy devices with a c.patch | (download)

libusb/os/linux_usbfs.c | 94 59 + 35 - 0 !
1 file changed, 59 insertions(+), 35 deletions(-)

 [patch] linux_usbfs: gracefully handle buggy devices with a
 configuration 0

The USB spec states that a configuration value of 0 is reserved and is
used to indicate the device in not configured (e.g. is in the address
state). Unfortunately some devices do exist that violate this and use 0
as the bConfigurationValue of the configuration descriptor.

Improve how the Linux backend handles such non-conformant devices by
adding special handling around the configuration value 0. Most devices
will not require this special handling, but for those that do there is
no way to distinguish between the device being unconfigured and using
configuration 0.

Closes #850

Signed-off-by: Chris Dickens <christopher.a.dickens@gmail.com>