From: Michael Wileczka <[email protected] <http://us.mc656.mail.yahoo.com/mc/[email protected]>>
The USB max packet size (always little-endian) was not being byte swapped on big-endian systems. Created with 2.6.32.16 Applicable since [USB: ftdi_sio: fix hi-speed device packet size calculation] approx 2.6.31 This has already been submitted and approved for the kernel (http://www.spinics.net/lists/linux-usb/msg35123.html <https://owa.ainfosec.com/owa/redir.aspx?C=06361fdacbe14ac5b5485d4050802c78&URL=http%3a%2f%2fwww.spinics.net%2flists%2flinux-usb%2fmsg35123.html>), but I don't think they will patch old versions, so I submitting it here too in response to ticket #7365. Signed-off-by: Michael Wileczka <[email protected] <http://us.mc656.mail.yahoo.com/mc/[email protected]>> --- --- a/drivers/usb/serial/ftdi_sio.c +++ b/drivers/usb/serial/ftdi_sio.c @@ -1397,7 +1397,7 @@ static void ftdi_set_max_packet_size(str } /* set max packet size based on descriptor */ - priv->max_packet_size = ep_desc->wMaxPacketSize; + priv->max_packet_size = le16_to_cpu(ep_desc->wMaxPacketSize); dev_info(&udev->dev, "Setting MaxPacketSize %d\n", priv->max_packet_size); } _______________________________________________ openwrt-devel mailing list [email protected] https://lists.openwrt.org/mailman/listinfo/openwrt-devel
