summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabian Godehardt <fg@emlix.com>2009-06-11 13:38:38 (GMT)
committerLinus Torvalds <torvalds@linux-foundation.org>2009-06-11 15:51:08 (GMT)
commit2e1463922a35584c863f71d4021e1e71f76eaed0 (patch)
tree5ad929468cd62126645f5b0e1d4d773344e0e5fc
parent977757311e50dc5d832c9fef34e7555411f7ccd8 (diff)
downloadlinux-fsl-qoriq-2e1463922a35584c863f71d4021e1e71f76eaed0.tar.xz
imx: serial: be sure to stop xmit upon shutdown
needed to avoid continued transmission by hardware while software already shuts down, which might cause dangling characters to show up in hardware queues when restarting the device. Signed-off-by: Fabian Godehardt <fg@emlix.com> Signed-off-by: Oskar Schirmer <os@emlix.com> Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--drivers/serial/imx.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/serial/imx.c b/drivers/serial/imx.c
index 49f2e12..e6c2ba2 100644
--- a/drivers/serial/imx.c
+++ b/drivers/serial/imx.c
@@ -634,6 +634,10 @@ static void imx_shutdown(struct uart_port *port)
struct imx_port *sport = (struct imx_port *)port;
unsigned long temp;
+ temp = readl(sport->port.membase + UCR2);
+ temp &= ~(UCR2_TXEN);
+ writel(temp, sport->port.membase + UCR2);
+
/*
* Stop our timer.
*/