diff options
author | Huang Shijie <b32955@freescale.com> | 2014-05-21 02:56:28 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-05-28 21:39:46 +0200 |
commit | 772f89910a8a1d1dd9dade2eec3125f283a9db63 (patch) | |
tree | 97db2ad68cbe8543a12928812c7e8f94a95d09cc /drivers/xen/evtchn.c | |
parent | serial: Add support for Advantech PCM-3614I/PCM-3618I serial expansion cards (diff) | |
download | linux-772f89910a8a1d1dd9dade2eec3125f283a9db63.tar.xz linux-772f89910a8a1d1dd9dade2eec3125f283a9db63.zip |
serial: imx: reset the uart port all the time
Current code resets the uart port only when it supports the irda mode.
In actually, we also need to reset the uart port in the non-irda mode.
A hang was caught in the following case:
UART A transmits data to the other end. But the transmission maybe
terminated. In some corner case, the TX FIFO maybe not empty.
The kernel will hang at the imx_set_termios():
............................................................
while (!(readl(sport->port.membase + USR2) & USR2_TXDC))
barrier();
............................................................
This patch resets the uart port all the time in the imx_startup().
And fix the hang.
Signed-off-by: Huang Shijie <b32955@freescale.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/xen/evtchn.c')
0 files changed, 0 insertions, 0 deletions