aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/serial/imx.c
diff options
context:
space:
mode:
authorFabian Godehardt <fg@emlix.com>2009-06-11 09:38:38 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2009-06-11 11:51:08 -0400
commit2e1463922a35584c863f71d4021e1e71f76eaed0 (patch)
tree5ad929468cd62126645f5b0e1d4d773344e0e5fc /drivers/serial/imx.c
parent977757311e50dc5d832c9fef34e7555411f7ccd8 (diff)
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>
Diffstat (limited to 'drivers/serial/imx.c')
-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 49f2e12ba58d..e6c2ba26dcbb 100644
--- a/drivers/serial/imx.c
+++ b/drivers/serial/imx.c
@@ -634,6 +634,10 @@ static void imx_shutdown(struct uart_port *port)
634 struct imx_port *sport = (struct imx_port *)port; 634 struct imx_port *sport = (struct imx_port *)port;
635 unsigned long temp; 635 unsigned long temp;
636 636
637 temp = readl(sport->port.membase + UCR2);
638 temp &= ~(UCR2_TXEN);
639 writel(temp, sport->port.membase + UCR2);
640
637 /* 641 /*
638 * Stop our timer. 642 * Stop our timer.
639 */ 643 */