diff options
author | Aaron Campbell <aaron@cvs.openbsd.org> | 2000-06-30 22:33:08 +0000 |
---|---|---|
committer | Aaron Campbell <aaron@cvs.openbsd.org> | 2000-06-30 22:33:08 +0000 |
commit | 2dfad5a51ae955f52f750aa5c5de1cf3b6701b69 (patch) | |
tree | b65bc0fab060001a57432e41621a35166faf1bd9 /sys | |
parent | d8555709fb109a1e472d5f62b8693801aa37dc4e (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')
-rw-r--r-- | sys/dev/ic/i82365.c | 12 |
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 |