linux-uconsole/drivers/tty/serial
Huibin Hong 74cfa8b13a serial: 8250_dw: lost one byte sometime when receive
To avoid "too much work for irq" issue, cherry pick the the patch.
It reads the RBR to clear the time out interrupt, but sometime the
rx fifo may be not empty while cpu reads the RBR. Which would cause
the data lost.

patch for "too much work":06451e93ab59e5b1843c29cbb468a274f4919563

By the way, current patch can't get rid of the risk entirely, so I
try a lot to solve it. Unfortunately, I only got the phenomenon that
lower pclk can reduce the probability. And I check the dw data sheet,
it has pclk and sclk, so there is synchronization problem. But it
only requires (slck < 4*pclk).

Change-Id: I01a36c689b43310294c45294abcf4982f5ddf2af
Signed-off-by: Huibin Hong <huibin.hong@rock-chips.com>
2018-07-16 17:45:23 +08:00
..
8250 serial: 8250_dw: lost one byte sometime when receive 2018-07-16 17:45:23 +08:00
cpm_uart tty: serial: cpm_uart: Fix module autoload for OF platform driver 2015-10-04 19:09:21 +01:00
jsm serial: jsm: some off by one bugs 2015-03-26 23:00:36 +01:00
21285.c
68328serial.c tty: Remove tty_port::close_wait 2015-10-17 21:11:29 -07:00
altera_jtaguart.c drivers/tty/serial: altera: fix typos in #endif comments 2015-05-06 22:26:58 +02:00
altera_uart.c rk: revert to v3.10 2015-11-11 15:57:28 +08:00
amba-pl010.c
amba-pl011.c rk: revert to v3.10 2015-11-11 15:57:28 +08:00
apbuart.c tty: serial: apbuart: Fix module autoload for OF platform driver 2015-10-04 19:09:21 +01:00
apbuart.h
ar933x_uart.c
arc_uart.c serial: arc_uart: Fix out-of-bounds access through DT alias 2018-05-30 07:49:15 +02:00
atmel_serial.c tty/serial: atmel: add new version check for usart 2018-03-18 11:17:53 +01:00
bcm63xx_uart.c bcm63xx_uart: Use the device name when registering an interrupt 2015-11-20 16:19:54 -08:00
bfin_sport_uart.c
bfin_sport_uart.h
bfin_uart.c serial: bfin: ctsrts: enfore Kconfig naming convention 2015-05-06 22:26:59 +02:00
clps711x.c serial: mctrl-gpio: rename init function 2015-10-04 18:46:43 +01:00
crisv10.c tty: Remove tty_port::close_wait 2015-10-17 21:11:29 -07:00
crisv10.h
digicolor-usart.c
dz.c
dz.h
earlycon-arm-semihost.c
earlycon.c serial: earlycon: Add missing spinlock initialization 2015-12-12 23:05:28 -08:00
efm32-uart.c serial: efm32: Fix parity management in 'efm32_uart_console_get_options()' 2017-06-26 07:13:09 +02:00
etraxfs-uart.c serial: etraxfs-uart: Fix crash 2015-11-20 16:19:54 -08:00
fsl_lpuart.c serial: fsl_lpuart: Fix out-of-bounds access through DT alias 2018-05-30 07:49:15 +02:00
icom.c tty: icom.c: move assignment out of if () block 2015-05-10 19:04:17 +02:00
icom.h
ifx6x60.c serial: ifx6x60: fix use-after-free on module unload 2017-06-14 13:16:20 +02:00
ifx6x60.h
imx.c serial: imx: Fix out-of-bounds access through serial port index 2018-05-30 07:49:15 +02:00
ioc3_serial.c tty: ioc3_serial.c: move assignment out of if () block 2015-05-10 19:04:17 +02:00
ioc4_serial.c tty: ioc4_serial.c: move assignment out of if () block 2015-05-10 19:04:17 +02:00
ip22zilog.c
ip22zilog.h
Kconfig serial: fsl_lpuart: Fix earlycon support 2015-11-20 16:19:54 -08:00
kgdb_nmi.c serial: kgdb_nmi: Use bool function return values of true/false not 1/0 2015-05-06 22:26:57 +02:00
kgdboc.c
lantiq.c drivers/tty: make serial/lantic.c driver explicitly non-modular 2015-07-23 18:27:41 -07:00
lpc32xx_hs.c tty: serial: lpc32xx_hs: fix handling platform_get_irq result 2015-10-04 19:09:21 +01:00
m32r_sio.c
m32r_sio.h
m32r_sio_reg.h
Makefile rk: revert to v3.10 2015-11-11 15:57:28 +08:00
max310x.c UPSTREAM: gpio: change member .dev to .parent 2018-02-28 14:55:00 +08:00
max3100.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
mcf.c drivers/tty/serial/mcf.c: fix typo on SERIAL_MCF_CONSOLE 2015-05-06 22:26:59 +02:00
men_z135_uart.c tty: serial: men_z135_uart.c: use mcb memory region size instead of hardcoded one 2015-10-17 21:05:43 -07:00
meson_uart.c ARM: meson: serial: convert iounmap to devm_iounmap 2015-05-06 22:27:02 +02:00
mpc52xx_uart.c serial: mpc52xx: add delay after resetting transmitter to fix broken chars 2015-10-04 17:27:56 +01:00
mpsc.c tty: disable unbind for old 74xx based serial/mpsc console port 2015-10-17 21:18:30 -07:00
msm_serial.c tty: serial: msm: Fix module autoload 2017-02-26 11:07:50 +01:00
msm_serial.h tty: serial: msm: Add RX DMA support 2015-10-04 19:15:17 +01:00
mux.c parisc: serial/mux: Convert to uart_console_device instead of open-coded 2015-10-22 15:44:28 +02:00
mxs-auart.c serial: mxs-auart: Fix out-of-bounds access through serial port index 2018-05-30 07:49:15 +02:00
netx-serial.c
nwpserial.c
of_serial.c rk: revert to v3.10 2015-11-11 15:57:28 +08:00
omap-serial.c serial: omap: Fix EFR write on RTS deassertion 2017-11-24 08:32:24 +01:00
pch_uart.c rk: revert to v3.10 2015-11-11 15:57:28 +08:00
pmac_zilog.c rk: revert to v3.10 2015-11-11 15:57:28 +08:00
pmac_zilog.h
pnx8xxx_uart.c
pxa.c tty: constify of_device_id array 2015-03-26 22:49:10 +01:00
rp2.c
sa1100.c
samsung.c serial: samsung: fix maxburst parameter for DMA transactions 2018-06-16 09:54:26 +02:00
samsung.h serial: samsung: fix DMA mode enter condition for small FIFO sizes 2015-08-04 22:07:23 -07:00
sb1250-duart.c
sc16is7xx.c UPSTREAM: gpio: change member .dev to .parent 2018-02-28 14:55:00 +08:00
sccnxp.c Fix serial console on SNI RM400 machines 2018-04-13 19:50:17 +02:00
serial-tegra.c rk: revert to v3.10 2015-11-11 15:57:28 +08:00
serial_core.c Merge branch 'android-4.4' 2016-02-18 15:18:27 +08:00
serial_ks8695.c tty/serial: kill off set_irq_flags usage 2015-06-09 12:26:32 -07:00
serial_mctrl_gpio.c serial: mctrl_gpio: Add missing module license 2018-05-02 07:53:43 -07:00
serial_mctrl_gpio.h serial: fix mctrl helper functions 2015-10-17 21:21:07 -07:00
serial_txx9.c
sh-sci.c serial: sh-sci: Fix race condition causing garbage during shutdown 2018-04-13 19:50:07 +02:00
sh-sci.h serial: sh-sci: Correct SCIF_ERROR_CLEAR for plain SCIF 2015-10-04 17:33:48 +01:00
sirfsoc_uart.c serial: sirf: let uart's receive start in right place 2015-07-23 15:32:04 -07:00
sirfsoc_uart.h serial: sirf: let uart's receive start in right place 2015-07-23 15:32:04 -07:00
sn_console.c drivers/tty: make serial/sn_console.c driver explicitly non-modular 2015-07-23 18:27:41 -07:00
sprd_serial.c tty: serial: sprd: Fix module autoload for OF platform driver 2015-10-04 19:09:21 +01:00
st-asc.c tty/serial: st-asc: drop the use of IRQF_NO_SUSPEND 2015-10-04 19:11:05 +01:00
stm32-usart.c tty/serial: st-asc: drop the use of IRQF_NO_SUSPEND 2015-10-04 19:11:05 +01:00
suncore.c drivers/tty: make serial/suncore.c driver explicitly non-modular 2015-07-23 18:27:41 -07:00
sunhv.c sparc64: Migrate hvcons irq to panicked cpu 2017-10-21 17:09:05 +02:00
sunsab.c rk: revert to v3.10 2015-11-11 15:57:28 +08:00
sunsab.h
sunsu.c
sunzilog.c
sunzilog.h
tilegx.c
timbuart.c
timbuart.h
uartlite.c serial: xilinx: Use platform_get_irq to get irq description structure 2015-04-28 14:26:21 +02:00
ucc_uart.c QE-UART: add "fsl,t1040-ucc-uart" to of_device_id 2016-06-07 18:14:35 -07:00
vr41xx_siu.c
vt8500_serial.c rk: revert to v3.10 2015-11-11 15:57:28 +08:00
xilinx_uartps.c serial: xuartps: Fix out-of-bounds access through DT alias 2018-05-30 07:49:14 +02:00
zs.c
zs.h