summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorache <ache@FreeBSD.org>1997-03-26 17:41:16 +0000
committerache <ache@FreeBSD.org>1997-03-26 17:41:16 +0000
commite3fc34456c5460d689a92df12163b6fa4a2b81e0 (patch)
tree4e14adcbf082f260de8bff2c30cfd955f2f3aabb /sys
parent15f60c2c3eaf16db6d387431e0e9ca26d3223f6f (diff)
downloadFreeBSD-src-e3fc34456c5460d689a92df12163b6fa4a2b81e0.zip
FreeBSD-src-e3fc34456c5460d689a92df12163b6fa4a2b81e0.tar.gz
Check sb0 configured in probe routine first
Pass configured irq back to isa
Diffstat (limited to 'sys')
-rw-r--r--sys/i386/isa/sound/sb16_midi.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/sys/i386/isa/sound/sb16_midi.c b/sys/i386/isa/sound/sb16_midi.c
index 27955b2..3db8d8a 100644
--- a/sys/i386/isa/sound/sb16_midi.c
+++ b/sys/i386/isa/sound/sb16_midi.c
@@ -294,8 +294,15 @@ reset_sb16midi (void)
int
probe_sb16midi (struct address_info *hw_config)
{
+ struct address_info *sb_config;
int ok = 0;
+ if (!(sb_config = sound_getconf (SNDCARD_SB)))
+ {
+ printk ("SB16 Error: Plain SB not configured\n");
+ return 0;
+ }
+
if (sbc_major < 4)
return 0; /* Not a SB16 */
@@ -307,9 +314,10 @@ probe_sb16midi (struct address_info *hw_config)
ok = reset_sb16midi ();
sb16midi_detected = ok;
- if (ok)
+ if (ok) {
+ hw_config->irq = sb_config->irq;
return 2;
- else
+ } else
return 0;
}
OpenPOWER on IntegriCloud