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

Reply via email to