diff options
author | SUGIOKA Toshinobu <sugioka@itonet.co.jp> | 2009-05-31 23:53:41 -0400 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2009-06-01 23:11:18 -0400 |
commit | dd0a3e77c825c9f5c6d2a97deb047f8d52026581 (patch) | |
tree | 9078047037677a1dfab10074d1f4170e44733ac7 /drivers/serial/sh-sci.c | |
parent | 4778541470cf7d074acd998fd40c06b94711e4ad (diff) |
serial: sh-sci: Fix up PORT_SCI console output ordering.
Fix SCI transmission sequence in console output function.
This reorders the write sequence to match the SH-3 manual, and corrects
a console corruption bug observed on SH-3 SCI.
Signed-off-by: Toshinobu Sugioka <sugioka@itonet.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'drivers/serial/sh-sci.c')
-rw-r--r-- | drivers/serial/sh-sci.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/serial/sh-sci.c b/drivers/serial/sh-sci.c index fa4d52a6c032..a4cf1079b312 100644 --- a/drivers/serial/sh-sci.c +++ b/drivers/serial/sh-sci.c | |||
@@ -151,9 +151,8 @@ static void sci_poll_put_char(struct uart_port *port, unsigned char c) | |||
151 | status = sci_in(port, SCxSR); | 151 | status = sci_in(port, SCxSR); |
152 | } while (!(status & SCxSR_TDxE(port))); | 152 | } while (!(status & SCxSR_TDxE(port))); |
153 | 153 | ||
154 | sci_in(port, SCxSR); /* Dummy read */ | ||
155 | sci_out(port, SCxSR, SCxSR_TDxE_CLEAR(port) & ~SCxSR_TEND(port)); | ||
156 | sci_out(port, SCxTDR, c); | 154 | sci_out(port, SCxTDR, c); |
155 | sci_out(port, SCxSR, SCxSR_TDxE_CLEAR(port) & ~SCxSR_TEND(port)); | ||
157 | } | 156 | } |
158 | #endif /* CONFIG_CONSOLE_POLL || CONFIG_SERIAL_SH_SCI_CONSOLE */ | 157 | #endif /* CONFIG_CONSOLE_POLL || CONFIG_SERIAL_SH_SCI_CONSOLE */ |
159 | 158 | ||