serial: imx: Fix imx_flush_buffer()
authorFabio Estevam <[email protected]>
Tue, 13 Jan 2015 12:00:26 +0000 (10:00 -0200)
committerGreg Kroah-Hartman <[email protected]>
Mon, 2 Feb 2015 18:11:24 +0000 (10:11 -0800)
commit934084a9d2d95d0ce98ae8d1ec3bfe81c95c678c
treeca28c2c469b8d9f7091f89c1575de278de24e3dc
parentbfc2e07f910891516c8eeef61859fa17369fea9f
serial: imx: Fix imx_flush_buffer()

When running an userspace program that does a 'tcflush(fd, TCIOFLUSH)' call
we still see the last received character in the URXD register afterwards.

Clear UCR2_SRST bit so that the UART FIFO is flushed properly.

Since UCR2_SRST also resets some UART registers, we need to save and restore
some of them.

Signed-off-by: Fabio Estevam <[email protected]>
Tested-by: Fugang Duan <[email protected]>
Acked-by: Jason Liu <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
drivers/tty/serial/imx.c