summaryrefslogtreecommitdiff
path: root/sys/dev/ic
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 /sys/dev/ic
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.
Diffstat (limited to 'sys/dev/ic')
-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