diff options
author | Fabian Godehardt <fg@emlix.com> | 2009-06-11 09:38:38 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-06-11 11:51:08 -0400 |
commit | 2e1463922a35584c863f71d4021e1e71f76eaed0 (patch) | |
tree | 5ad929468cd62126645f5b0e1d4d773344e0e5fc /drivers/serial | |
parent | 977757311e50dc5d832c9fef34e7555411f7ccd8 (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')
-rw-r--r-- | drivers/serial/imx.c | 4 |
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 | */ |