2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-19 18:53:52 +08:00
linux-next/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
..
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 tiocmset: kill the file pointer argument 2011-02-17 11:52:43 -08:00
belkin_sa.h USB: belkin_sa.h: checkpatch cleanups 2010-05-20 13:21:46 -07:00
bus.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
ch341.c Merge branch 'tty-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6 2011-03-16 15:11:04 -07:00
ChangeLog.history
console.c usb-console: pass baud from console to the initial tty open 2010-05-20 13:21:32 -07:00
cp210x.c USB: cp210x: fix typo, Telegesys should have been Telegesis 2011-05-10 14:14:58 -07:00
cyberjack.c USB: tty: Prune uses of tty_request_room in the USB layer 2010-03-02 14:55:12 -08:00
cypress_m8.c Fix common misspellings 2011-03-31 11:26:23 -03:00
cypress_m8.h USB: cypress_m8.h: checkpatch cleanups 2010-05-20 13:21:46 -07:00
digi_acceleport.c doc: fix broken references 2011-09-27 18:08:04 +02:00
empeg.c USB: empeg: reimplement using generic framework 2010-05-20 13:21:48 -07:00
ezusb_convert.pl
ezusb.c
ftdi_sio_ids.h USB: ftdi_sio: Support TI/Luminary Micro Stellaris BD-ICDI Board 2011-10-18 13:42:07 -07:00
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
funsoft.c USB serial: make USB device id constant 2010-03-02 14:54:16 -08:00
garmin_gps.c atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
generic.c USB: serial: handle Data Carrier Detect changes 2011-01-22 18:53:26 -08:00
hp4x.c USB serial: make USB device id constant 2010-03-02 14:54:16 -08:00
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 Fix common misspellings 2011-03-31 11:26:23 -03:00
io_ionsp.h USB: io_edgeport: checkpatch cleanups 2010-05-20 13:21:47 -07:00
io_tables.h USB serial: add missing .usb_driver field in serial drivers 2011-01-22 18:38:59 -08:00
io_ti.c Fix common misspellings 2011-03-31 11:26:23 -03:00
io_ti.h USB: io_edgeport: checkpatch cleanups 2010-05-20 13:21:47 -07:00
io_usbvend.h USB: io_edgeport: checkpatch cleanups 2010-05-20 13:21:47 -07:00
ipaq.c Revert "USB: Adding support for HTC Smartphones to ipaq" 2010-08-10 14:35:35 -07:00
ipw.c USB: ipw: convert to usb-wwan framework 2011-08-22 15:21:16 -07:00
ir-usb.c USB: ir-usb: fix incorrect write-buffer length 2010-05-20 13:21:50 -07:00
iuu_phoenix.c tiocmset: kill the file pointer argument 2011-02-17 11:52:43 -08:00
iuu_phoenix.h
Kconfig usb: fix ipw.c build error, select USB_SERIAL_WWAN 2011-08-24 15:06:53 -07:00
keyspan_pda.c Merge branch 'tty-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6 2011-03-16 15:11:04 -07:00
keyspan_usa26msg.h
keyspan_usa28msg.h
keyspan_usa49msg.h
keyspan_usa67msg.h
keyspan_usa90msg.h
keyspan.c Merge branch 'tty-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6 2011-03-16 15:11:04 -07:00
keyspan.h tiocmset: kill the file pointer argument 2011-02-17 11:52:43 -08:00
kl5kusb105.c tiocmset: kill the file pointer argument 2011-02-17 11:52:43 -08:00
kl5kusb105.h USB: kl5kusb105.h: checkpatch cleanups 2010-05-20 13:21:47 -07:00
kobil_sct.c Merge branch 'tty-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6 2011-03-16 15:11:04 -07:00
kobil_sct.h USB: kobil_sct.h: checkpatch cleanups 2010-05-20 13:21:47 -07:00
Makefile Revert "USB: sam-ba: add driver for Atmel SAM Boot Assistant (SAM-BA)" 2011-04-13 16:48:25 -07:00
Makefile-keyspan_pda_fw
mct_u232.c usb/serial: fix function args warnings, dropping *filp 2011-04-04 08:35:20 -07:00
mct_u232.h Update broken web addresses in the kernel. 2010-10-18 11:03:14 +02:00
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 USB: moto_modem: Add USB identifier for the Motorola VE240. 2011-04-29 16:45:21 -07:00
navman.c USB: add device IDs for igotu to navman 2010-08-23 20:50:15 -07:00
omninet.c drivers/usb: Remove unnecessary return's from void functions 2010-08-10 14:25:42 +02:00
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 tty: remove filp from the USB tty ioctls 2011-02-17 11:59:14 -08:00
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 USB serial: add missing .usb_driver field in serial drivers 2011-01-22 18:38:59 -08:00
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 USB: safe_serial: straighten out read processing 2010-05-20 13:21:49 -07:00
siemens_mpi.c USB serial: add missing .usb_driver field in serial drivers 2011-01-22 18:38:59 -08:00
sierra.c PM / Runtime: Add macro to test for runtime PM events 2011-08-19 23:49:48 +02:00
spcp8x5.c tty: remove filp from the USB tty ioctls 2011-02-17 11:59:14 -08:00
ssu100.c tty: remove filp from the USB tty ioctls 2011-02-17 11:59:14 -08:00
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: ti_usb_3410_5052: adding multitech dialup fax/modem devices 2010-04-22 15:18:20 -07:00
usb_debug.c USB serial: add missing .usb_driver field in serial drivers 2011-01-22 18:38:59 -08:00
usb_wwan.c PM / Runtime: Add macro to test for runtime PM events 2011-08-19 23:49:48 +02:00
usb-serial.c USB: use usb_endpoint_maxp() instead of le16_to_cpu() 2011-08-23 09:47:40 -07:00
usb-wwan.h tty: remove filp from the USB tty ioctls 2011-02-17 11:59:14 -08:00
visor.c USB: Add Samsung SGH-I500/Android modem ID switch to visor driver 2011-02-17 10:30:23 -08:00
visor.h USB: visor.h: checkpatch cleanups 2010-05-20 13:21:47 -07:00
vivopay-serial.c USB: serial: Add support for ViVOtech ViVOpay devices. 2010-03-02 14:54:57 -08:00
whiteheat.c tty: remove filp from the USB tty ioctls 2011-02-17 11:59:14 -08:00
whiteheat.h
zio.c USB Serial Driver: ZIO Motherboard 2010-05-20 13:21:32 -07:00