summaryrefslogtreecommitdiffstats
path: root/drivers/serial/8250.c
diff options
context:
space:
mode:
authorKumar Gala <galak@kernel.crashing.org>2006-02-08 22:34:35 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2006-02-08 22:34:35 +0100
commitf5968b37b3ad35b682b574b578843a0361218aff (patch)
tree59bd62257053a4252cf7b01a675b577a93e313d2 /drivers/serial/8250.c
parent[SERIAL] Remove unnecessary serial.h include (diff)
downloadlinux-f5968b37b3ad35b682b574b578843a0361218aff.tar.xz
linux-f5968b37b3ad35b682b574b578843a0361218aff.zip
[SERIAL] 8250 serial console update uart_8250_port ier
On some embedded PowerPC (MPC834x) systems an extra byte would some times be required to flush data out of the fifo. serial8250_console_write() was updating the IER in hardware without also updating the copy in uart_8250_port. This causes issues functions like serial8250_start_tx() and __stop_tx() to misbehave. Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to '')
-rw-r--r--drivers/serial/8250.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c
index 179c1f065e60..b1fc97d5f643 100644
--- a/drivers/serial/8250.c
+++ b/drivers/serial/8250.c
@@ -2229,6 +2229,7 @@ serial8250_console_write(struct console *co, const char *s, unsigned int count)
* and restore the IER
*/
wait_for_xmitr(up, BOTH_EMPTY);
+ up->ier |= UART_IER_THRI;
serial_out(up, UART_IER, ier | UART_IER_THRI);
}