diff options
author | marcel <marcel@FreeBSD.org> | 2004-04-02 07:37:28 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 2004-04-02 07:37:28 +0000 |
commit | 8ca527be931b01df7feed19d5ef1dc5e62e4e422 (patch) | |
tree | 957bbedc764d4502d1a63a68b994c83928214c53 /sys/dev/uart | |
parent | 89d7668839609b9e50e82506488aa850bd6869f9 (diff) | |
download | FreeBSD-src-8ca527be931b01df7feed19d5ef1dc5e62e4e422.zip FreeBSD-src-8ca527be931b01df7feed19d5ef1dc5e62e4e422.tar.gz |
In ns8250_putc() insert a barrier between writing the character and
checking for transmitter empty.
Diffstat (limited to 'sys/dev/uart')
-rw-r--r-- | sys/dev/uart/uart_dev_ns8250.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/dev/uart/uart_dev_ns8250.c b/sys/dev/uart/uart_dev_ns8250.c index 44d1304..ae4a3f8 100644 --- a/sys/dev/uart/uart_dev_ns8250.c +++ b/sys/dev/uart/uart_dev_ns8250.c @@ -304,6 +304,7 @@ ns8250_putc(struct uart_bas *bas, int c) while ((uart_getreg(bas, REG_LSR) & LSR_THRE) == 0 && --limit) DELAY(delay); uart_setreg(bas, REG_DATA, c); + uart_barrier(bas); limit = 40; while ((uart_getreg(bas, REG_LSR) & LSR_TEMT) == 0 && --limit) DELAY(delay); |