linux/drivers/usb/serial
Konstantin Shkolnyy ebfb319bb6 USB: cp210x: flush device queues at close
Flush all device queues at close in order to work around a cp2108 Tx
queue bug.

Occasionally, writing data and immediately closing the port makes cp2108
stop responding. The device has to be unplugged to clear the error.
The failure is induced by shutting down the device while its Tx queue
still has unsent data. This condition is avoided by issuing PURGE command
from the close() callback.

This change is applied to all cp210x devices. Clearing internal queues on
close is generally good.

Signed-off-by: Konstantin Shkolnyy <konstantin.shkolnyy@gmail.com>
[johan: amend commit message ]
Signed-off-by: Johan Hovold <johan@kernel.org>
2015-11-16 12:17:08 +01:00
..
aircable.c USB: serial: correct spelling mistakes in comments 2014-01-03 12:39:31 -08:00
ark3116.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
belkin_sa.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
belkin_sa.h
bus.c USB: serial: clean up bus probe error handling 2015-02-26 17:13:05 +01:00
ch341.c USB-serial updates for v4.1-rc1 2015-04-03 18:59:34 +02:00
console.c USB: console: add dummy __module_get 2015-02-26 17:06:39 +01:00
cp210x.c USB: cp210x: flush device queues at close 2015-11-16 12:17:08 +01:00
cyberjack.c USB: serial: add missing newlines to dev_<level> messages. 2014-03-12 12:44:50 -07:00
cypress_m8.c USB: serial: add missing newlines to dev_<level> messages. 2014-03-12 12:44:50 -07:00
cypress_m8.h USB: cypress_m8: only wake up MSR queue on changes 2014-01-03 12:42:24 -08:00
digi_acceleport.c usb: serial: Remove unused tty->hw_stopped 2014-09-23 21:19:35 -07:00
empeg.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
ezusb_convert.pl
f81232.c USB: f81232: fix some minor style issues 2015-03-27 17:36:29 +01:00
ftdi_sio_ids.h USB: ftdi_sio: Added custom PID for CustomWare products 2015-08-18 10:07:40 -07:00
ftdi_sio.c USB: ftdi_sio: Added custom PID for CustomWare products 2015-08-18 10:07:40 -07:00
ftdi_sio.h
garmin_gps.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
generic.c USB: serial: fix infinite wait_until_sent timeout 2015-03-07 03:44:14 +01:00
io_16654.h
io_edgeport.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
io_edgeport.h
io_ionsp.h
io_tables.h
io_ti.c USB: io_ti: Remove extra blank lines separating functions 2015-10-09 12:23:50 +02:00
io_ti.h
io_usbvend.h USB: io_ti: fix firmware download on big-endian machines (part 2) 2014-05-27 15:12:57 -07:00
ipaq.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
ipw.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
ir-usb.c USB: serial: remove redundant OOM messages 2014-01-03 12:31:46 -08:00
iuu_phoenix.c USB: serial: add missing newlines to dev_<level> messages. 2014-03-12 12:44:50 -07:00
iuu_phoenix.h
Kconfig Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2015-06-23 14:08:54 -07:00
keyspan_pda.c USB: keyspan_pda: add new device id 2015-03-19 18:04:01 +01:00
keyspan_usa26msg.h USB: serial: correct spelling mistakes in comments 2014-01-03 12:39:31 -08:00
keyspan_usa28msg.h
keyspan_usa49msg.h
keyspan_usa67msg.h
keyspan_usa90msg.h
keyspan.c USB: keyspan: fix null-deref at probe 2015-01-02 15:12:28 +01:00
keyspan.h
kl5kusb105.c USB: kl5kusb105: Remove klsi_105_tiocmset function 2014-07-09 15:44:06 -07:00
kl5kusb105.h
kobil_sct.c USB-serial updates for v3.19-rc1 2014-11-26 10:41:46 -08:00
kobil_sct.h
Makefile USB: serial: remove zte_ev driver 2014-09-15 18:43:08 +02:00
Makefile-keyspan_pda_fw
mct_u232.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
mct_u232.h
metro-usb.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
mos7720.c USB: mos7720: rename registers 2015-07-06 12:15:02 +02:00
mos7840.c USB: serial: mos7840: Use setup_timer 2015-06-01 16:39:41 +02:00
mxuport.c usb: serial: mxuport: Simplify return statement 2015-08-05 12:37:21 -07:00
navman.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
omninet.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
opticon.c USB: opticon: fix non-atomic allocation in write path 2014-11-03 09:07:30 +01:00
option.c Revert "USB: qcserial/option: make AT URCs work for Sierra Wireless MC73xx" 2015-10-09 12:42:56 +02:00
oti6858.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
oti6858.h
pl2303.c USB: pl2303: fix baud-rate divisor calculations 2015-07-30 18:11:07 +02:00
pl2303.h USB: pl2303: Remove support for Samsung I330 2015-04-29 12:34:24 +02:00
qcaux.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
qcserial.c USB: qcserial: add Sierra Wireless MC74xx/EM74xx 2015-10-22 18:26:57 -07:00
quatech2.c USB: serial: add missing newlines to dev_<level> messages. 2014-03-12 12:44:50 -07:00
safe_serial.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
sierra.c USB: sierra: add 1199:68AB device ID 2015-07-28 09:27:50 +02:00
spcp8x5.c USB: serial: add missing newlines to dev_<level> messages. 2014-03-12 12:44:50 -07:00
ssu100.c USB: ssu100: fix overrun-error reporting 2014-11-19 16:22:22 +01:00
symbolserial.c USB: symbolserial: Correct transferred data size 2015-08-18 10:06:22 -07:00
ti_usb_3410_5052.c usb: serial: Remove unused tty->hw_stopped 2014-09-23 21:19:35 -07:00
ti_usb_3410_5052.h USB: serial: ti_usb_3410_5052: new device id for Abbot strip port cable 2013-06-19 15:54:45 -07:00
usb_debug.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
usb_wwan.c USB: usb_wwan/option: generalize option_send_setup for other drivers 2015-10-09 12:42:40 +02:00
usb-serial-simple.c USB patches for 3.19-rc1 2014-12-14 14:57:16 -08:00
usb-serial.c USB: serial: Destroy serial_minors IDR on module exit 2015-07-09 10:41:23 +02:00
usb-wwan.h USB: usb_wwan/option: generalize option_send_setup for other drivers 2015-10-09 12:42:40 +02:00
visor.c USB: visor: Match I330 phone more precisely 2015-04-29 12:36:52 +02:00
visor.h USB: serial: correct spelling mistakes in comments 2014-01-03 12:39:31 -08:00
whiteheat.c USB: whiteheat: fix potential null-deref at probe 2015-09-23 12:15:19 -07:00
whiteheat.h
wishbone-serial.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
xsens_mt.c usb: serial: xsens_mt: always bind to interface number 1 2014-09-04 11:18:26 +02:00