summaryrefslogtreecommitdiff
path: root/sys/dev/pci/maestro.c
diff options
context:
space:
mode:
authorAlexandre Ratchov <ratchov@cvs.openbsd.org>2013-05-24 07:58:48 +0000
committerAlexandre Ratchov <ratchov@cvs.openbsd.org>2013-05-24 07:58:48 +0000
commita17435250580896870a6e809bdf9191d8863f719 (patch)
tree4a8b4e47c49b101fa8f6c0f43f1e7a766fa35a89 /sys/dev/pci/maestro.c
parent844dc26f6ca4b55b2888091e428d0faaffcc81a3 (diff)
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/pci/maestro.c')
-rw-r--r--sys/dev/pci/maestro.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/dev/pci/maestro.c b/sys/dev/pci/maestro.c
index 1d584d7c511..4d7c7aa7689 100644
--- a/sys/dev/pci/maestro.c
+++ b/sys/dev/pci/maestro.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: maestro.c,v 1.34 2013/05/15 08:29:24 ratchov Exp $ */
+/* $OpenBSD: maestro.c,v 1.35 2013/05/24 07:58:46 ratchov Exp $ */
/* $FreeBSD: /c/ncvs/src/sys/dev/sound/pci/maestro.c,v 1.3 2000/11/21 12:22:11 julian Exp $ */
/*
* FreeBSD's ESS Agogo/Maestro driver
@@ -645,8 +645,8 @@ maestro_attach(parent, self, aux)
return;
}
intrstr = pci_intr_string(pc, ih);
- sc->ih = pci_intr_establish(pc, ih, IPL_AUDIO, maestro_intr, sc,
- sc->dev.dv_xname);
+ sc->ih = pci_intr_establish(pc, ih, IPL_AUDIO | IPL_MPSAFE,
+ maestro_intr, sc, sc->dev.dv_xname);
if (sc->ih == NULL) {
printf(": can't establish interrupt");
if (intrstr != NULL)