summaryrefslogtreecommitdiff
path: root/sys/arch/i386
diff options
context:
space:
mode:
authorThorsten Lockert <tholo@cvs.openbsd.org>1996-11-09 21:56:23 +0000
committerThorsten Lockert <tholo@cvs.openbsd.org>1996-11-09 21:56:23 +0000
commitfb93ff81f8acf7a82626e895aa7861171cafc005 (patch)
treec488bfdc08cf9184253815511d1d09ea00d2a9aa /sys/arch/i386
parent75825390d1b805ebf654480b2abc4c9d339ab384 (diff)
Proper break handling
Diffstat (limited to 'sys/arch/i386')
-rw-r--r--sys/arch/i386/isa/pccom.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/sys/arch/i386/isa/pccom.c b/sys/arch/i386/isa/pccom.c
index ae6e3b005a9..cd819913d99 100644
--- a/sys/arch/i386/isa/pccom.c
+++ b/sys/arch/i386/isa/pccom.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pccom.c,v 1.4 1996/10/22 01:11:52 downsj Exp $ */
+/* $OpenBSD: pccom.c,v 1.5 1996/11/09 21:56:22 tholo Exp $ */
/* $NetBSD: com.c,v 1.82.4.1 1996/06/02 09:08:00 mrg Exp $ */
/*-
@@ -1511,20 +1511,23 @@ comsoft()
lsr = sc->sc_rxbuf[rxget];
rxget = (rxget + 1) & RBUFMASK;
if (ISSET(lsr, LSR_RCV_MASK)) {
+ if (ISSET(lsr, LSR_BI)) {
#ifdef DDB
- if (ISSET(lsr, LSR_BI) &&
- ISSET(sc->sc_hwflags, COM_HW_CONSOLE)) {
- Debugger();
- rxget = (rxget + 1) & RBUFMASK;
- continue;
- }
+ if (ISSET(sc->sc_hwflags, COM_HW_CONSOLE)) {
+ Debugger();
+ rxget = (rxget + 1) & RBUFMASK;
+ continue;
+ }
#endif
+ c = 0;
+ }
+ else
+ c = sc->sc_rxbuf[rxget];
if (ISSET(lsr, LSR_OE)) {
sc->sc_overflows++;
if (sc->sc_errors++ == 0)
timeout(comdiag, sc, 60 * hz);
}
- c = sc->sc_rxbuf[rxget];
rxget = (rxget + 1) & RBUFMASK;
c |= lsrmap[(lsr & (LSR_BI|LSR_FE|LSR_PE)) >> 2];
line->l_rint(c, tp);