]> git.baikalelectronics.ru Git - kernel.git/commit
USB: ftdi_sio: fix hi-speed device packet size calculation
authorMark Adamson <mark.adamson@ftdichip.com>
Fri, 1 May 2009 10:48:45 +0000 (11:48 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 16 Jun 2009 04:44:41 +0000 (21:44 -0700)
commitf8fd2ba4c0f3d2794c4cbd4c85d2ef07cce4859e
tree30881e196227ba32ff78fae9f6ebc37f89dff455
parent7c6d78157f36a1b38254c3ac525c60efeedf1e75
USB: ftdi_sio: fix hi-speed device packet size calculation

Added a function to set the packet size to be used based on the value from the
device endpoint descriptor.  The FT2232H and FT4232H hi-speed devices will have
wMaxPacketSize of 512 bytes when connected to a USB 2.0 hi-speed host, but will
use alternative descriptors with wMaxPacketSize of 64 bytes if connected to a
USB 1.1 host or hub.  All other FTDI devices have wMaxPacketSize of 64 bytes,
except some FT232R and FT245R devices which customers have mistakenly
programmed to have wMaxPacketSize of 0 - this is an error and will be
overridden to use wMaxPacketSize of 64 bytes.  The packet size used is
important as it determines where the driver removes the status bytes from the
incoming data.  If it is incorrect, it will lead to data corruption.

Signed-off-by: Mark J. Adamson <mark.adamson@ftdichip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/serial/ftdi_sio.c