linux/drivers/usb/serial
Johan Hovold 41ca302a69 USB: serial: ch341: fix disabled rx timer on older devices
At least one older CH341 appears to have the RX timer enable bit
inverted so that setting it disables the RX timer and prevents the FIFO
from emptying until it is full.

Only set the RX timer enable bit for devices with version newer than
0x27 (even though this probably affects all pre-0x30 devices).

Reported-by: Jonathan Woithe <jwoithe@just42.net>
Tested-by: Jonathan Woithe <jwoithe@just42.net>
Link: https://lore.kernel.org/r/Ys1iPTfiZRWj2gXs@marvin.atrad.com.au
Fixes: 4e46c410e0 ("USB: serial: ch341: reinitialize chip on reconfiguration")
Cc: stable@vger.kernel.org      # 4.10
Signed-off-by: Johan Hovold <johan@kernel.org>
2022-08-31 15:51:06 +02:00
..
aircable.c USB: serial: drop redundant transfer-buffer casts 2020-07-09 09:20:17 +02:00
ark3116.c tty: remove CMSPAR ifdefs 2022-05-19 18:26:16 +02:00
belkin_sa.c tty: make use of tty_get_{char,frame}_size 2021-06-15 14:03:27 +02:00
belkin_sa.h
bus.c bus: Make remove callback return void 2021-07-21 11:53:42 +02:00
ch341.c USB: serial: ch341: fix disabled rx timer on older devices 2022-08-31 15:51:06 +02:00
console.c
cp210x.c USB: serial: cp210x: add Decagon UCA device id 2022-08-31 14:47:58 +02:00
cyberjack.c USB: serial: make usb_serial_driver::write_room return uint 2021-05-19 10:56:40 +02:00
cypress_m8.c USB: serial: fix repeated word "the" in comments 2022-07-13 08:39:04 +02:00
cypress_m8.h
digi_acceleport.c USB: serial: drop irq-flags initialisations 2021-05-21 15:46:25 +02:00
empeg.c
ezusb_convert.pl
f81232.c USB: serial: make use of UART_LCR_WLEN() + tty_get_char_size() 2022-02-28 21:49:06 +01:00
f81534.c USB: serial: make use of UART_LCR_WLEN() + tty_get_char_size() 2022-02-28 21:49:06 +01:00
ftdi_sio_ids.h USB: serial: ftdi_sio: add Omron CS1W-CIF31 device id 2022-08-29 15:26:11 +02:00
ftdi_sio.c USB: serial: ftdi_sio: add Omron CS1W-CIF31 device id 2022-08-29 15:26:11 +02:00
ftdi_sio.h
garmin_gps.c USB: serial: use kmemdup instead of kmalloc + memcpy 2022-06-22 08:56:52 +02:00
generic.c USB: serial: make usb_serial_driver::chars_in_buffer return uint 2021-05-19 10:56:41 +02:00
io_16654.h
io_edgeport.c USB: serial: io_edgeport: fix spelling mistakes 2022-07-13 08:28:54 +02:00
io_edgeport.h USB: serial: io_edgeport: drop unused definitions 2021-04-08 09:50:04 +02:00
io_ionsp.h
io_ti.c USB: serial: io_ti: add Agilent E5805A support 2022-06-09 14:13:28 +02:00
io_ti.h USB: serial: io_ti: drop unnecessary packed attributes 2021-04-13 18:23:34 +02:00
io_usbvend.h USB: serial: io_ti: add Agilent E5805A support 2022-06-09 14:13:28 +02:00
ipaq.c USB: serial: replace symbolic permissions by octal permissions 2021-08-26 09:38:27 +02:00
ipw.c
ir-usb.c USB: serial: make usb_serial_driver::write_room return uint 2021-05-19 10:56:40 +02:00
iuu_phoenix.c USB: serial: replace symbolic permissions by octal permissions 2021-08-26 09:38:27 +02:00
iuu_phoenix.h
Kconfig USB: serial: simple: add Nokia phone driver 2022-03-03 09:27:36 +01:00
keyspan_pda.c USB: serial: keyspan_pda: use usb_control_msg_recv() 2021-09-21 14:23:23 +02:00
keyspan_usa26msg.h
keyspan_usa28msg.h
keyspan_usa49msg.h
keyspan_usa67msg.h
keyspan_usa90msg.h
keyspan.c USB: serial: keyspan: fix memleak on probe errors 2021-10-27 15:18:59 +02:00
kl5kusb105.c USB: serial: kl5kusb105: drop line-status helper 2021-09-22 09:33:17 +02:00
kl5kusb105.h
kobil_sct.c USB: serial: make usb_serial_driver::write_room return uint 2021-05-19 10:56:40 +02:00
kobil_sct.h
Makefile USB: serial: add MaxLinear/Exar USB to Serial driver 2021-01-21 10:49:37 +01:00
Makefile-keyspan_pda_fw
mct_u232.c USB: serial: make remove callback return void 2021-02-09 13:13:58 +01:00
mct_u232.h
metro-usb.c USB: serial: drop irq-flags initialisations 2021-05-21 15:46:25 +02:00
mos7720.c USB: serial: fix repeated word "the" in comments 2022-07-13 08:39:04 +02:00
mos7840.c USB: serial: mos7840: remove duplicated 0xac24 device ID 2021-09-20 11:19:55 +02:00
mxuport.c USB: serial: mxuport: drop short control-transfer check 2021-01-18 14:26:14 +01:00
navman.c
omninet.c USB: serial: omninet: update driver description 2021-05-25 08:59:17 +02:00
opticon.c USB: serial: use kmemdup instead of kmalloc + memcpy 2022-06-22 08:56:52 +02:00
option.c USB: serial: option: add support for Cinterion MV32-WA/WB RmNet mode 2022-08-29 15:34:35 +02:00
oti6858.c USB: serial: make usb_serial_driver::chars_in_buffer return uint 2021-05-19 10:56:41 +02:00
oti6858.h
pl2303.c USB: serial: pl2303: add support for more HXN (G) types 2022-06-22 08:52:03 +02:00
pl2303.h USB: serial: pl2303: add device id for HP LM930 Display 2022-05-05 13:31:03 +02:00
qcaux.c
qcserial.c USB: serial: qcserial: add support for Sierra Wireless EM7590 2022-05-05 15:15:15 +02:00
quatech2.c USB: serial: make use of UART_LCR_WLEN() + tty_get_char_size() 2022-02-28 21:49:06 +01:00
safe_serial.c
sierra.c USB: serial: fix tty-port initialized comments 2022-07-25 11:01:40 +02:00
spcp8x5.c USB: serial: make remove callback return void 2021-02-09 13:13:58 +01:00
ssu100.c USB: serial: make use of UART_LCR_WLEN() + tty_get_char_size() 2022-02-28 21:49:06 +01:00
symbolserial.c USB: serial: make remove callback return void 2021-02-09 13:13:58 +01:00
ti_usb_3410_5052.c USB-serial updates for 5.14-rc1 2021-06-24 12:54:28 +02:00
upd78f0730.c USB: serial: do not use tty class device for debugging 2021-04-09 17:55:21 +02:00
usb_debug.c
usb_wwan.c USB-serial updates for 5.20-rc1 2022-07-25 11:28:52 +02:00
usb-serial-simple.c USB: serial: simple: add Nokia phone driver 2022-03-03 09:27:36 +01:00
usb-serial.c USB: serial: fix tty-port initialized comments 2022-07-25 11:01:40 +02:00
usb-wwan.h USB: serial: make usb_serial_driver::chars_in_buffer return uint 2021-05-19 10:56:41 +02:00
visor.c
visor.h
whiteheat.c tty: remove CMSPAR ifdefs 2022-05-19 18:26:16 +02:00
whiteheat.h
wishbone-serial.c
xr_serial.c USB: serial: xr: add copyright notice 2021-04-13 18:36:39 +02:00
xsens_mt.c