summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Campbell <aaron@cvs.openbsd.org>2000-06-30 22:33:08 +0000
committerAaron Campbell <aaron@cvs.openbsd.org>2000-06-30 22:33:08 +0000
commit2dfad5a51ae955f52f750aa5c5de1cf3b6701b69 (patch)
treeb65bc0fab060001a57432e41621a35166faf1bd9
parentd8555709fb109a1e472d5f62b8693801aa37dc4e (diff)
Oops, put back this call to spltty(). When our timeout expires and we poll the
pcic, we don't want to be interrupted by real interrupts generated by the pcic.
-rw-r--r--sys/dev/ic/i82365.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/sys/dev/ic/i82365.c b/sys/dev/ic/i82365.c
index 3e5cb36f5c5..b62f4be23c1 100644
--- a/sys/dev/ic/i82365.c
+++ b/sys/dev/ic/i82365.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: i82365.c,v 1.15 2000/06/28 17:48:10 aaron Exp $ */
+/* $OpenBSD: i82365.c,v 1.16 2000/06/30 22:33:07 aaron Exp $ */
/* $NetBSD: i82365.c,v 1.10 1998/06/09 07:36:55 thorpej Exp $ */
/*
@@ -672,13 +672,21 @@ pcic_poll_intr(arg)
void *arg;
{
struct pcic_softc *sc = arg;
- int i;
+ int i, s;
+
+ /*
+ * Since we're polling, we aren't in interrupt context, so block any
+ * actual interrupts coming from the pcic.
+ */
+ s = spltty();
for (i = 0; i < PCIC_NSLOTS; i++)
if (sc->handle[i].flags & PCIC_FLAG_SOCKETP)
pcic_intr_socket(&sc->handle[i]);
timeout_add(&sc->poll_timeout, hz / 2);
+
+ splx(s);
}
int