Index: com.c =================================================================== RCS file: /cvs/src/sys/dev/ic/com.c,v retrieving revision 1.169 diff -u -p -r1.169 com.c --- com.c 14 May 2018 19:25:54 -0000 1.169 +++ com.c 24 Jun 2019 01:08:29 -0000 @@ -925,11 +925,16 @@ comstart(struct tty *tp) n = q_to_b(&tp->t_outq, buffer, min(sc->sc_fifolen, sizeof buffer)); for (i = 0; i < n; i++) { + while (!ISSET(com_read_reg(sc, com_lsr), LSR_TXRDY)) + ; com_write_reg(sc, com_data, buffer[i]); } bzero(buffer, n); - } else if (tp->t_outq.c_cc != 0) + } else if (tp->t_outq.c_cc != 0) { + while (!ISSET(com_read_reg(sc, com_lsr), LSR_TXRDY)) + ; com_write_reg(sc, com_data, getc(&tp->t_outq)); + } out: splx(s); return;