OpenCloudOS-Kernel/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
..
Kconfig treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Makefile-keyspan_pda_fw USB: add SPDX identifiers to all remaining Makefiles 2017-11-07 15:53:48 +01:00
aircable.c USB: serial: fix module-license macros 2017-11-04 11:58:00 +01:00
ark3116.c USB: serial: ark3116: drop redundant init_termios 2019-04-26 08:37:53 +02:00
belkin_sa.c docs: usb: rename files to .rst and add them to drivers-api 2019-06-20 14:28:36 +02:00
belkin_sa.h USB: serial: Use the correct style for SPDX License Identifier 2020-04-22 09:26:47 +02:00
bus.c USB: serial: use tty_port_register_device() 2018-05-17 11:22:00 +02:00
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 License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
digi_acceleport.c USB: serial: digi_acceleport: remove redundant assignment to pointer priv 2020-02-10 10:38:54 +01:00
empeg.c docs: usb: rename files to .rst and add them to drivers-api 2019-06-20 14:28:36 +02:00
ezusb_convert.pl License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
f81232.c USB: serial: f81232: add control driver for F81534A 2020-03-18 11:50:14 +01:00
f81534.c USB: serial: f81534: fix reading old/new IC config 2018-11-20 18:25:44 +01:00
ftdi_sio.c USB: serial: ftdi_sio: fix break and sysrq handling 2020-07-09 09:19:45 +02:00
ftdi_sio.h USB: serial: ftdi_sio: add support for FT232R CBUS gpios 2018-10-05 08:57:06 +02:00
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: switch to ->get_serial() 2018-10-13 00:50:38 -04:00
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 USB: serial: Remove redundant license text 2017-11-04 11:55:38 +01:00
ipw.c USB: serial: Remove redundant license text 2017-11-04 11:55:38 +01:00
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
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 USB: serial: keyspan_usa: add proper SPDX lines for .h files 2019-01-18 11:09:32 +01:00
keyspan_usa28msg.h USB: serial: keyspan_usa: add proper SPDX lines for .h files 2019-01-18 11:09:32 +01:00
keyspan_usa49msg.h USB: serial: keyspan_usa: add proper SPDX lines for .h files 2019-01-18 11:09:32 +01:00
keyspan_usa67msg.h USB: serial: keyspan_usa: add proper SPDX lines for .h files 2019-01-18 11:09:32 +01:00
keyspan_usa90msg.h USB: serial: keyspan_usa: add proper SPDX lines for .h files 2019-01-18 11:09:32 +01:00
kl5kusb105.c USB: serial: kl5kusb105: remove KLSI device id 2018-07-11 10:11:29 +02:00
kl5kusb105.h USB: serial: kl5kusb105: remove KLSI device id 2018-07-11 10:11:29 +02:00
kobil_sct.c USB: serial: use fallthrough pseudo-keyword 2020-07-08 14:55:35 +02:00
kobil_sct.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mct_u232.c USB: serial: Remove redundant license text 2017-11-04 11:55:38 +01:00
mct_u232.h USB: serial: Use the correct style for SPDX License Identifier 2020-04-22 09:26:47 +02:00
metro-usb.c USB: serial: fix module-license macros 2017-11-04 11:58:00 +01:00
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 USB: serial: Remove redundant license text 2017-11-04 11:55:38 +01:00
navman.c USB: serial: fix module-license macros 2017-11-04 11:58:00 +01:00
omninet.c docs: usb: rename files to .rst and add them to drivers-api 2019-06-20 14:28:36 +02:00
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 docs: usb: rename files to .rst and add them to drivers-api 2019-06-20 14:28:36 +02:00
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 USB: serial: fix module-license macros 2017-11-04 11:58:00 +01:00
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 USB: serial: Remove redundant license text 2017-11-04 11:55:38 +01:00
sierra.c USB: serial: sierra: unify quirk handling logic 2020-06-19 08:58:49 +02:00
spcp8x5.c USB: serial: spcp8x5: simplify init_termios 2019-04-26 08:38:02 +02:00
ssu100.c ssu100: switch to ->get_serial() 2018-10-13 00:50:41 -04:00
symbolserial.c USB: serial: symbolserial: use irqsave() in USB's complete callback 2018-06-26 15:25:01 +02:00
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: serial: usb_debug: add new USB device id 2017-11-28 09:54:11 +01:00
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 docs: usb: rename files to .rst and add them to drivers-api 2019-06-20 14:28:36 +02:00
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 USB: serial: Remove redundant license text 2017-11-04 11:55:38 +01:00
xsens_mt.c USB: serial: fix module-license macros 2017-11-04 11:58:00 +01:00