diff options
author | ache <ache@FreeBSD.org> | 1994-02-02 16:41:26 +0000 |
---|---|---|
committer | ache <ache@FreeBSD.org> | 1994-02-02 16:41:26 +0000 |
commit | e844cf9bb7bad83124948194e7e392230c3c461a (patch) | |
tree | 7538fffd65a9b670b6120e0416ea7bacff440a35 /sys/dev/sio/sio.c | |
parent | 164b10596fc5d87428f0b2d6db54ae0779c184b8 (diff) | |
download | FreeBSD-src-e844cf9bb7bad83124948194e7e392230c3c461a.zip FreeBSD-src-e844cf9bb7bad83124948194e7e392230c3c461a.tar.gz |
Fix error in multiport part:
while input char not entered, output was suspended
Diffstat (limited to 'sys/dev/sio/sio.c')
-rw-r--r-- | sys/dev/sio/sio.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/sys/dev/sio/sio.c b/sys/dev/sio/sio.c index bd63fa3..fdb91f9 100644 --- a/sys/dev/sio/sio.c +++ b/sys/dev/sio/sio.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * from: @(#)com.c 7.5 (Berkeley) 5/16/91 - * $Id: sio.c,v 1.24 1994/01/31 08:52:12 ache Exp $ + * $Id: sio.c,v 1.25 1994/01/31 19:07:59 ache Exp $ */ #include "sio.h" @@ -872,16 +872,15 @@ siointr(unit) possibly_more_intrs = FALSE; for (unit = 0; unit < NSIO; ++unit) { com = com_addr(unit); - if (com != NULL - && (inb(com->int_id_port) & IIR_IMASK) - != IIR_NOPEND) { + if (com != NULL) { /* * XXX call comintr1() instead of here from * comwakeup(). The interrupt edge problem * only exists for real interrupts. */ comintr1(com); - possibly_more_intrs = TRUE; + if ((inb(com->int_id_port) & IIR_IMASK) != IIR_NOPEND) + possibly_more_intrs = TRUE; } } } while (possibly_more_intrs); |