Linux: Fix endianness handling of usbfs config descriptors (#27) driver/usb/core/devio.c function usbdev_read translate the follwing files to CPU endianess: le16_to_cpus(&temp_desc.bcdUSB); le16_to_cpus(&temp_desc.idVendor); le16_to_cpus(&temp_desc.idProduct); le16_to_cpus(&temp_desc.bcdDevice); All other data is passed without any change. libusb/os/linux_usbfs.c calls usbi_parse_descriptor with host_endian=1 for config descriptors. According to the kernel code, they must be processed with host_endian=0, as they are not translated by the kernel. Signed-off-by: Martin Koegler <mkoegler@auto.tuwien.ac.at>
diff --git a/AUTHORS b/AUTHORS index df78688..cb7a061 100644 --- a/AUTHORS +++ b/AUTHORS
@@ -15,6 +15,7 @@ Felipe Balbi Hans Ulrich Niedermann Ludovic Rousseau +Martin Koegler Mikhail Gusarov Rob Walker Toby Peterson