tty: serial: fsl_lpuart: fix clearing of receive flag
authorStefan Agner <stefan@agner.ch>
Tue, 19 Jul 2016 07:43:05 +0000 (13:13 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 31 Aug 2016 13:48:28 +0000 (15:48 +0200)
commitd68827c62a105eec547945daedf4d1d3e283717d
treeca79c531d0d11f14ab1c04e0816dd562a2169ece
parentd6b0d2f243fef6cb87f5338bf06c2330175f106f
tty: serial: fsl_lpuart: fix clearing of receive flag

Commit 8e4934c6d6c6 ("tty: serial: fsl_lpuart: clear receive flag on FIFO
flush") implemented clearing of the receive flag by reading the status register
only. It turned out that even though we flush the FIFO afterwards, a explicit
read of the data register is still required.

This leads to a FIFO underrun. To avoid this, follow the advice in the overrun
"Operation section": Unconditionally clear RXUF after using RXFLUSH.

Signed-off-by: Stefan Agner <stefan@agner.ch>
Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/fsl_lpuart.c