diff options
author | jkh <jkh@FreeBSD.org> | 1993-10-24 19:38:06 +0000 |
---|---|---|
committer | jkh <jkh@FreeBSD.org> | 1993-10-24 19:38:06 +0000 |
commit | 313b638950e3af4583bfd7abd2a625dff7268fe1 (patch) | |
tree | e1e8f8fb0c22f895d8072288ef6b165e41f06400 | |
parent | b9f46ecfd6c4cc359d6d3c8cffb27f96fbd4051e (diff) | |
download | FreeBSD-src-313b638950e3af4583bfd7abd2a625dff7268fe1.zip FreeBSD-src-313b638950e3af4583bfd7abd2a625dff7268fe1.tar.gz |
From: Amancio Hasty Jr <hasty@netcom.com>
Make sure calls to gus_voice_irq() are protected from interrupts.
-rw-r--r-- | sys/i386/isa/sound/gus_card.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/i386/isa/sound/gus_card.c b/sys/i386/isa/sound/gus_card.c index 39aca78..82fa3a4 100644 --- a/sys/i386/isa/sound/gus_card.c +++ b/sys/i386/isa/sound/gus_card.c @@ -149,6 +149,7 @@ void gusintr (int unit) { unsigned char src; + unsigned long flags; while (1) { @@ -175,7 +176,9 @@ gusintr (int unit) if (src & (WAVETABLE_IRQ | ENVELOPE_IRQ)) { + DISABLE_INTR (flags); gus_voice_irq (); + RESTORE_INTR (flags); } } } |