linux/drivers/usb/serial
Johan Hovold 733fff6794 USB: serial: ftdi_sio: fix break and sysrq handling
Only the last NUL in a packet should be flagged as a break character,
for example, to avoid dropping unrelated characters when IGNBRK is set.

Also make sysrq work by consuming the break character instead of having
it immediately cancel the sysrq request, and by not processing it
prematurely to avoid triggering a sysrq based on an unrelated character
received in the same packet (which was received *before* the break).

Note that the break flag can be left set also for a packet received
immediately following a break and that and an ending NUL in such a
packet will continue to be reported as a break as there's no good way to
tell it apart from an actual break.

Tested on FT232R and FT232H.

Fixes: 72fda3ca6f ("USB: serial: ftd_sio: implement sysrq handling on break")
Fixes: 1da177e4c3 ("Linux-2.6.12-rc2")
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Johan Hovold <johan@kernel.org>
2020-07-09 09:19:45 +02:00
..
aircable.c
ark3116.c
belkin_sa.c
belkin_sa.h USB: serial: Use the correct style for SPDX License Identifier 2020-04-22 09:26:47 +02:00
bus.c
ch341.c USB: serial: ch341: fix missing simulated-break margin 2020-07-07 17:32:02 +02:00
console.c USB: serial: console: add support for flow control 2020-07-02 10:38:45 +02:00
cp210x.c USB: serial: cp210x: re-enable auto-RTS on open 2020-07-06 12:03:59 +02:00
cyberjack.c USB: serial: cyberjack: fix spelling mistake "To" -> "Too" 2020-01-23 09:14:52 +01:00
cypress_m8.c USB: serial: use fallthrough pseudo-keyword 2020-07-08 14:55:35 +02:00
cypress_m8.h
digi_acceleport.c USB: serial: digi_acceleport: remove redundant assignment to pointer priv 2020-02-10 10:38:54 +01:00
empeg.c
ezusb_convert.pl
f81232.c USB: serial: f81232: add control driver for F81534A 2020-03-18 11:50:14 +01:00
f81534.c
ftdi_sio.c USB: serial: ftdi_sio: fix break and sysrq handling 2020-07-09 09:19:45 +02:00
ftdi_sio.h
ftdi_sio_ids.h USB: serial: ftdi_sio: add device IDs for U-Blox C099-F9P 2019-11-14 18:55:31 +01:00
garmin_gps.c USB: serial: garmin_gps: don't compile unused packet definitions 2020-07-02 10:38:30 +02:00
generic.c USB: serial: clean up carrier-detect helper 2020-03-11 09:38:01 +01:00
io_16654.h USB: serial: Use the correct style for SPDX License Identifier 2020-04-22 09:26:47 +02:00
io_edgeport.c USB: serial: use fallthrough pseudo-keyword 2020-07-08 14:55:35 +02:00
io_edgeport.h USB: serial: Use the correct style for SPDX License Identifier 2020-04-22 09:26:47 +02:00
io_ionsp.h USB: serial: Use the correct style for SPDX License Identifier 2020-04-22 09:26:47 +02:00
io_ti.c
io_ti.h USB: serial: Use the correct style for SPDX License Identifier 2020-04-22 09:26:47 +02:00
io_usbvend.h USB: serial: Use the correct style for SPDX License Identifier 2020-04-22 09:26:47 +02:00
ipaq.c
ipw.c
ir-usb.c USB: serial: ir-usb: Silence harmless uninitialized variable warning 2020-02-10 10:06:51 +01:00
iuu_phoenix.c USB: serial: iuu_phoenix: drop unused URB submission results 2020-07-02 10:38:42 +02:00
iuu_phoenix.h USB: serial: Use the correct style for SPDX License Identifier 2020-04-22 09:26:47 +02:00
Kconfig treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
keyspan.c USB: serial: keyspan: handle unbound ports 2020-01-17 16:22:58 +01:00
keyspan_pda.c USB: serial: keyspan_pda: drop unused firmware reset status 2020-07-02 10:38:42 +02:00
keyspan_usa26msg.h
keyspan_usa28msg.h
keyspan_usa49msg.h
keyspan_usa67msg.h
keyspan_usa90msg.h
kl5kusb105.c
kl5kusb105.h
kobil_sct.c USB: serial: use fallthrough pseudo-keyword 2020-07-08 14:55:35 +02:00
kobil_sct.h
Makefile
Makefile-keyspan_pda_fw
mct_u232.c
mct_u232.h USB: serial: Use the correct style for SPDX License Identifier 2020-04-22 09:26:47 +02:00
metro-usb.c
mos7720.c USB: serial: mos7720: fix remote wakeup 2019-11-12 09:53:07 +01:00
mos7840.c USB: serial: mos7840: drop port open flag 2019-11-12 09:57:32 +01:00
mxuport.c
navman.c
omninet.c
opticon.c Here are the USB-serial updates for 5.6-rc1, including: 2020-01-27 10:21:22 +01:00
option.c USB: serial: option: add Telit LE910C1-EUX compositions 2020-05-27 09:28:02 +02:00
oti6858.c
oti6858.h USB: serial: Use the correct style for SPDX License Identifier 2020-04-22 09:26:47 +02:00
pl2303.c USB: serial: pl2303: add device-id for HP LD381 2020-03-12 12:31:01 +01:00
pl2303.h USB: serial: Use the correct style for SPDX License Identifier 2020-04-22 09:26:47 +02:00
qcaux.c
qcserial.c USB: serial: qcserial: fix up wording in a comment 2020-06-19 08:58:47 +02:00
quatech2.c USB: serial: quatech2: drop two stub functions 2020-07-02 10:38:44 +02:00
safe_serial.c
sierra.c USB: serial: sierra: unify quirk handling logic 2020-06-19 08:58:49 +02:00
spcp8x5.c
ssu100.c
symbolserial.c
ti_usb_3410_5052.c USB: Replace zero-length array with flexible-array member 2020-02-23 19:24:51 +01:00
upd78f0730.c USB: serial: use fallthrough pseudo-keyword 2020-07-08 14:55:35 +02:00
usb-serial-simple.c USB: serial: simple: Add Motorola Solutions TETRA MTP3xxx and MTP85xx 2020-01-13 15:04:35 +01:00
usb-serial.c USB: serial: fix tty cleanup-op kernel-doc 2020-03-11 09:39:01 +01:00
usb-wwan.h USB: serial: option: add ZLP support for 0x1bc7/0x9010 2019-12-20 12:07:12 +01:00
usb_debug.c
usb_wwan.c USB: serial: usb_wwan: do not resubmit rx urb on fatal errors 2020-05-19 09:46:06 +02:00
visor.c
visor.h USB: serial: Use the correct style for SPDX License Identifier 2020-04-22 09:26:47 +02:00
whiteheat.c USB: serial: whiteheat: fix line-speed endianness 2019-10-30 10:06:32 +01:00
whiteheat.h USB: serial: Use the correct style for SPDX License Identifier 2020-04-22 09:26:47 +02:00
wishbone-serial.c
xsens_mt.c