diff options
author | Per Fogelstrom <pefo@cvs.openbsd.org> | 2002-04-09 15:08:44 +0000 |
---|---|---|
committer | Per Fogelstrom <pefo@cvs.openbsd.org> | 2002-04-09 15:08:44 +0000 |
commit | 612fab45aa96d5cbc5e241d6001c5c3084043446 (patch) | |
tree | 47b348ccb25163d46cb29eedb295f1d0eb47541b /sys/dev/ic | |
parent | 3c9275d5e4fa95e586315084f29a4cc6c0c51211 (diff) |
Don't enable interrupts until an open() is done. Until then the driver
is not handling them and may throw the kernel into a spurious interrupt
loop. ok art@
Diffstat (limited to 'sys/dev/ic')
-rw-r--r-- | sys/dev/ic/com.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/dev/ic/com.c b/sys/dev/ic/com.c index 274436b124c..1852fce766a 100644 --- a/sys/dev/ic/com.c +++ b/sys/dev/ic/com.c @@ -1,4 +1,4 @@ -/* $OpenBSD: com.c,v 1.83 2002/03/14 01:26:54 millert Exp $ */ +/* $OpenBSD: com.c,v 1.84 2002/04/09 15:08:43 pefo Exp $ */ /* $NetBSD: com.c,v 1.82.4.1 1996/06/02 09:08:00 mrg Exp $ */ /* @@ -379,8 +379,10 @@ com_enable_debugport(sc) /* Turn on line break interrupt, set carrier. */ s = splhigh(); +#ifdef KGDB SET(sc->sc_ier, IER_ERXRDY); bus_space_write_1(sc->sc_iot, sc->sc_ioh, com_ier, sc->sc_ier); +#endif SET(sc->sc_mcr, MCR_DTR | MCR_RTS | MCR_IENABLE); bus_space_write_1(sc->sc_iot, sc->sc_ioh, com_mcr, sc->sc_mcr); @@ -1472,7 +1474,7 @@ cominit(iot, ioh, rate) bus_space_write_1(iot, ioh, com_dlbh, rate >> 8); bus_space_write_1(iot, ioh, com_lcr, LCR_8BITS); bus_space_write_1(iot, ioh, com_mcr, MCR_DTR | MCR_RTS); - bus_space_write_1(iot, ioh, com_ier, IER_ERXRDY | IER_ETXRDY); + bus_space_write_1(iot, ioh, com_ier, 0); /* Make sure they are off */ bus_space_write_1(iot, ioh, com_fifo, FIFO_ENABLE | FIFO_RCV_RST | FIFO_XMT_RST | FIFO_TRIGGER_1); stat = bus_space_read_1(iot, ioh, com_iir); |