Page MenuHomeFreeBSD

D29130.diff
No OneTemporary

D29130.diff

diff --git a/sys/dev/uart/uart_dev_ns8250.c b/sys/dev/uart/uart_dev_ns8250.c
--- a/sys/dev/uart/uart_dev_ns8250.c
+++ b/sys/dev/uart/uart_dev_ns8250.c
@@ -738,6 +738,7 @@
} else {
if (iir & IIR_TXRDY) {
ipend |= SER_INT_TXIDLE;
+ ns8250->ier &= ~IER_ETXRDY;
uart_setreg(bas, REG_IER, ns8250->ier);
uart_barrier(bas);
} else
@@ -1035,7 +1036,9 @@
uart_setreg(bas, REG_DATA, sc->sc_txbuf[i]);
uart_barrier(bas);
}
- uart_setreg(bas, REG_IER, ns8250->ier | IER_ETXRDY);
+ if (!broken_txfifo)
+ ns8250->ier |= IER_ETXRDY;
+ uart_setreg(bas, REG_IER, ns8250->ier);
uart_barrier(bas);
if (broken_txfifo)
ns8250_drain(bas, UART_DRAIN_TRANSMITTER);

File Metadata

Mime Type
text/plain
Expires
Sat, Jan 25, 11:24 AM (16 h, 41 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
16140019
Default Alt Text
D29130.diff (680 B)

Event Timeline