serial: imx: Fix imx_flush_buffer()
authorFabio Estevam <fabio.estevam@freescale.com>
Tue, 13 Jan 2015 12:00:26 +0000 (10:00 -0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
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 <fabio.estevam@freescale.com>
Tested-by: Fugang Duan <B38611@freescale.com>
Acked-by: Jason Liu <r64343@freecale.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/imx.c