aboutsummaryrefslogtreecommitdiff
path: root/drivers/serial/sh-sci.c
diff options
context:
space:
mode:
authorSUGIOKA Toshinobu <sugioka@itonet.co.jp>2009-06-01 03:53:41 +0000
committerPaul Mundt <lethal@linux-sh.org>2009-06-02 12:11:18 +0900
commitdd0a3e77c825c9f5c6d2a97deb047f8d52026581 (patch)
tree9078047037677a1dfab10074d1f4170e44733ac7 /drivers/serial/sh-sci.c
parent4778541470cf7d074acd998fd40c06b94711e4ad (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.c3
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)
status = sci_in(port, SCxSR);
} while (!(status & SCxSR_TDxE(port)));
- sci_in(port, SCxSR); /* Dummy read */
- sci_out(port, SCxSR, SCxSR_TDxE_CLEAR(port) & ~SCxSR_TEND(port));
sci_out(port, SCxTDR, c);
+ sci_out(port, SCxSR, SCxSR_TDxE_CLEAR(port) & ~SCxSR_TEND(port));
}
#endif /* CONFIG_CONSOLE_POLL || CONFIG_SERIAL_SH_SCI_CONSOLE */