diff options
author | ache <ache@FreeBSD.org> | 1997-03-26 17:41:16 +0000 |
---|---|---|
committer | ache <ache@FreeBSD.org> | 1997-03-26 17:41:16 +0000 |
commit | e3fc34456c5460d689a92df12163b6fa4a2b81e0 (patch) | |
tree | 4e14adcbf082f260de8bff2c30cfd955f2f3aabb /sys | |
parent | 15f60c2c3eaf16db6d387431e0e9ca26d3223f6f (diff) | |
download | FreeBSD-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.c | 12 |
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; } |