2.1.0 の sioドライバのバグです。
/usr/src/sys/pc98/pc98/sio.c に以下のパッチをあてて
作り直したカーネルと入れ換えて下さい。
<hr>
--- sio.c.orig Sun Nov 26 23:12:14 1995
+++ sio.c Mon Jun 24 19:33:51 1996
@@ -1830,11 +1830,6 @@
if (ioptr >= com->obufq.l_tail) {
struct lbq *qp;
-#if defined(PC98)
- if(IS_8251(com->pc98_if_type))
- if ( pc98_check_i8251_interrupt(com) & IEN_TxFLAG )
- com_int_Tx_disable(com);
-#endif
qp = com->obufq.l_next;
qp->l_queued = FALSE;
qp = qp->l_next;
@@ -1845,6 +1840,11 @@
} else {
/* output just completed */
com->state &= ~CS_BUSY;
+#if defined(PC98)
+ if(IS_8251(com->pc98_if_type))
+ if ( pc98_check_i8251_interrupt(com) & IEN_TxFLAG )
+ com_int_Tx_disable(com);
+#endif
}
if (!(com->state & CS_ODONE)) {
com_events += LOTS_OF_EVENTS;
<hr>