linux/drivers/usb/serial
Andrew Worsley b1ffb4c851 USB: Fix Corruption issue in USB ftdi driver ftdi_sio.c
Fix for ftdi_set_termios() glitching output

ftdi_set_termios() is constantly setting the baud rate, data bits and parity
unnecessarily on every call, . When called while characters are being
transmitted can cause the FTDI chip to corrupt the serial port bit stream
output by stalling the output half a bit during the output of a character.
Simple fix by skipping this setting if the baud rate/data bits/parity are
unchanged.

Signed-off-by: Andrew Worsley <amworsley@gmail.com>
Cc: stable <stable@vger.kernel.org>
----

  I had a brief run with strace on the getty and it was doing ioctl()s on
  each call but it didn't look relavant to the problem. I think the issue is
  that XON/XOFF flow control was being implmented via hardware - for the ixoff
  to allow the user to use XON/XOFF to control output. Unfortunately it would
  send 3 Control URBs updating all of the settings after each piece of input

  I am trying to work around the issue of gmail messing with the tab/spacing
  by submitting via SMTP via gmail which I believe should fix the issue.

  The patch is against v3.2-rc2 and compiles - but no additional testing in
  this kernel has been done.

  Thanks

   Andrew
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-18 11:27:16 -08:00
..
ChangeLog.history
Kconfig usb: fix ipw.c build error, select USB_SERIAL_WWAN 2011-08-24 15:06:53 -07:00
Makefile
Makefile-keyspan_pda_fw
aircable.c usb: Add module.h to drivers/usb consumers who really use it. 2011-10-31 19:31:25 -04:00
ark3116.c USB: ark3116 initialisation fix 2011-11-14 13:47:47 -08:00
belkin_sa.c
belkin_sa.h
bus.c
ch341.c
console.c
cp210x.c
cyberjack.c
cypress_m8.c
cypress_m8.h
digi_acceleport.c doc: fix broken references 2011-09-27 18:08:04 +02:00
empeg.c
ezusb.c
ezusb_convert.pl
ftdi_sio.c USB: Fix Corruption issue in USB ftdi driver ftdi_sio.c 2011-11-18 11:27:16 -08:00
ftdi_sio.h USB: Add new FT232H chip to drivers/usb/serial/ftdi_sio.c 2011-06-27 13:46:44 -07:00
ftdi_sio_ids.h USB: ftdi_sio: Support TI/Luminary Micro Stellaris BD-ICDI Board 2011-10-18 13:42:07 -07:00
funsoft.c
garmin_gps.c atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
generic.c
hp4x.c
io_16654.h
io_edgeport.c USB: use usb_endpoint_maxp() instead of le16_to_cpu() 2011-08-23 09:47:40 -07:00
io_edgeport.h
io_ionsp.h
io_tables.h
io_ti.c
io_ti.h
io_usbvend.h
ipaq.c
ipw.c USB: ipw: convert to usb-wwan framework 2011-08-22 15:21:16 -07:00
ir-usb.c
iuu_phoenix.c
iuu_phoenix.h
keyspan.c
keyspan.h
keyspan_pda.c
keyspan_usa26msg.h
keyspan_usa28msg.h
keyspan_usa49msg.h
keyspan_usa67msg.h
keyspan_usa90msg.h
kl5kusb105.c
kl5kusb105.h
kobil_sct.c
kobil_sct.h
mct_u232.c
mct_u232.h
mos7720.c USB: serial: remove duplicate returns 2011-08-10 14:17:08 +02:00
mos7840.c USB: serial: remove duplicate returns 2011-08-10 14:17:08 +02:00
moto_modem.c
navman.c
omninet.c
opticon.c USB: use usb_endpoint_maxp() instead of le16_to_cpu() 2011-08-23 09:47:40 -07:00
option.c USB: option: add PID of Huawei E173s 3G modem 2011-11-18 11:18:46 -08:00
oti6858.c
oti6858.h
pl2303.c USB: serial: pl2303: rm duplicate id 2011-11-15 10:06:15 -08:00
pl2303.h USB: serial: pl2303: rm duplicate id 2011-11-15 10:06:15 -08:00
qcaux.c
qcserial.c usb: Add module.h to drivers/usb consumers who really use it. 2011-10-31 19:31:25 -04:00
safe_serial.c
siemens_mpi.c
sierra.c PM / Runtime: Add macro to test for runtime PM events 2011-08-19 23:49:48 +02:00
spcp8x5.c
ssu100.c
symbolserial.c USB: use usb_endpoint_maxp() instead of le16_to_cpu() 2011-08-23 09:47:40 -07:00
ti_usb_3410_5052.c USB: TI 3410/5052 USB Serial Driver: Fix mem leak when firmware is too big. 2011-06-14 14:20:30 -07:00
ti_usb_3410_5052.h
usb-serial.c USB: use usb_endpoint_maxp() instead of le16_to_cpu() 2011-08-23 09:47:40 -07:00
usb-wwan.h
usb_debug.c
usb_wwan.c PM / Runtime: Add macro to test for runtime PM events 2011-08-19 23:49:48 +02:00
visor.c
visor.h
vivopay-serial.c
whiteheat.c
whiteheat.h
zio.c