summaryrefslogtreecommitdiff
path: root/sys/arch/hp300/dev/apci.c
diff options
context:
space:
mode:
authorTodd C. Miller <millert@cvs.openbsd.org>2001-05-10 22:29:39 +0000
committerTodd C. Miller <millert@cvs.openbsd.org>2001-05-10 22:29:39 +0000
commit39bda50ec30c753fd95402c4f12632e9bf2f1195 (patch)
treea28b0f73171a5a00296725df32a57116744e24d0 /sys/arch/hp300/dev/apci.c
parent2422cec2363c227a47a6f1405a6e973e09d4f7a6 (diff)
Don't play with MCR_IEN, it breaks serial console input on the 425e.
If it turns out that this causes problems on other 4xx models this can be added back for the non-425e models.
Diffstat (limited to 'sys/arch/hp300/dev/apci.c')
-rw-r--r--sys/arch/hp300/dev/apci.c13
1 files changed, 3 insertions, 10 deletions
diff --git a/sys/arch/hp300/dev/apci.c b/sys/arch/hp300/dev/apci.c
index 0bf79d9f703..3fe942a0ce5 100644
--- a/sys/arch/hp300/dev/apci.c
+++ b/sys/arch/hp300/dev/apci.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: apci.c,v 1.8 2001/05/10 20:18:46 millert Exp $ */
+/* $OpenBSD: apci.c,v 1.9 2001/05/10 22:29:38 millert Exp $ */
/* $NetBSD: apci.c,v 1.9 2000/11/02 00:35:05 eeh Exp $ */
/*-
@@ -760,7 +760,6 @@ apciparam(tp, t)
tp->t_cflag = cflag;
apci->ap_ier = IER_ERXRDY | IER_ETXRDY | IER_ERLS | IER_EMSC;
- apci->ap_mcr |= MCR_IEN;
splx(s);
return (0);
@@ -827,14 +826,6 @@ apcimctl(sc, bits, how)
struct apciregs *apci = sc->sc_apci;
int s;
- /*
- * Always make sure MCR_IEN is set (unless setting to 0)
- */
- if (how == DMBIS || (how == DMSET && bits))
- bits |= MCR_IEN;
- else if (how == DMBIC)
- bits &= ~MCR_IEN;
-
s = spltty();
switch (how) {
@@ -982,6 +973,8 @@ apcicngetc(dev)
while (((stat = apci_cn->ap_lsr) & LSR_RXRDY) == 0)
;
c = apci_cn->ap_data;
+
+ /* clear any interrupts generated by this transmission */
stat = apci_cn->ap_iir;
splx(s);
return (c);