Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 17 Oct 1995 00:48:28 -0400
From:      "Johanan L. Codona" <codona@planet.net>
To:        freebsd-current@FreeBSD.ORG
Subject:   Re: kern/647      Sound cards fail to work
Message-ID:  <199510170448.AAA12843@rustic>

next in thread | raw e-mail | index | archive | help

Well I figured it out.  I was right in that the interrupt
routine was not being called.  The routines

snd_set_irq_handler(sbc_irq, sbintr) and 
snd_release_irq (sbc_irq)

are red herrings!  They don't do the *real* job of setting up audio
interrupts, that is done elsewhere.  However, register_intr() does get
called, and with sensible values.

As those who replied to me noticed, my printer was also on the
canonical irq 7.  I had set the "conflicts" keyword, thinking that
that would allow me to share interrupts.  But on reading the source
for register_intr, I saw that there is no such thing as shared ISA
interrupts, unless they are processed by the *same* handler.  This was
the cause of my confusion.

So I reshuffled my IRQs and now it works.  I guess I missed where
it said that interrupts of different types cannot be shared.

I have seen others describe this problem too.  Disabling the
interrupts on the printer doesn't help because if irq 7 gets assigned
to LPT0 first, that's it!  All other handlers will be bounced.

If there was more to kern/647 I would be curious to find out what.
For now, I have a working sound card, and consider the case closed.

-- 
Johanan L. Codona 
The Stekas Group
codona@planet.net



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199510170448.AAA12843>