@@ -352,6 +352,9 @@ static void sci_transmit_chars(struct uart_port *port)
else
count = scif_txroom(port);
+ if (port->type == PORT_SCIF)
+ sci_out(port, SCxSR, SCxSR_TEND_CLEAR(port));
+
do {
unsigned char c;
@@ -271,6 +271,7 @@
# define SCxSR_ERROR_CLEAR(port) (((port)->type == PORT_SCI) ? 0xc4 : 0x0073)
# define SCxSR_TDxE_CLEAR(port) (((port)->type == PORT_SCI) ? 0x78 : 0x00df)
# define SCxSR_BREAK_CLEAR(port) (((port)->type == PORT_SCI) ? 0xc4 : 0x00e3)
+# define SCxSR_TEND_CLEAR(port) (0x00bf)
#endif
/* SCFCR */