diff options
author | 2013-05-24 07:58:46 +0000 | |
---|---|---|
committer | 2013-05-24 07:58:46 +0000 | |
commit | 61932e1479f3fc4a2ff1ed885ff398a5947d89e2 (patch) | |
tree | 51ebe7ae32378b4da41e7b8dbc2b02a85064fcec /sys/dev/isa/gus.c | |
parent | for this type of page, where we list supported hardware, no need to relist (diff) | |
download | wireguard-openbsd-61932e1479f3fc4a2ff1ed885ff398a5947d89e2.tar.xz wireguard-openbsd-61932e1479f3fc4a2ff1ed885ff398a5947d89e2.zip |
Since audio code is mp safe, establish isa and pci audio interrupts
with the IPL_MPSAFE flag. In certain circumstances, this prevents
interrupt handlers from waiting the global kernel_lock possibly (hold
by slower code) to be released.
ok kettenis
Diffstat (limited to 'sys/dev/isa/gus.c')
-rw-r--r-- | sys/dev/isa/gus.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/dev/isa/gus.c b/sys/dev/isa/gus.c index 92100774283..5b915987d54 100644 --- a/sys/dev/isa/gus.c +++ b/sys/dev/isa/gus.c @@ -1,4 +1,4 @@ -/* $OpenBSD: gus.c,v 1.36 2013/05/15 08:29:24 ratchov Exp $ */ +/* $OpenBSD: gus.c,v 1.37 2013/05/24 07:58:46 ratchov Exp $ */ /* $NetBSD: gus.c,v 1.51 1998/01/25 23:48:06 mycroft Exp $ */ /*- @@ -3595,8 +3595,9 @@ gus_subattach(sc, ia) /* XXX we shouldn't have to use splgus == splclock, nor should * we use IPL_CLOCK. */ - sc->sc_ih = isa_intr_establish(ia->ia_ic, ia->ia_irq, IST_EDGE, - IPL_AUDIO, gusintr, sc /* sc->sc_gusdsp */, sc->sc_dev.dv_xname); + sc->sc_ih = isa_intr_establish(ia->ia_ic, ia->ia_irq, + IST_EDGE, IPL_AUDIO | IPL_MPSAFE, + gusintr, sc /* sc->sc_gusdsp */, sc->sc_dev.dv_xname); /* * Set some default values |