From owner-freebsd-current Mon Oct 16 21:45:34 1995 Return-Path: owner-current Received: (from root@localhost) by freefall.freebsd.org (8.6.12/8.6.6) id VAA09168 for current-outgoing; Mon, 16 Oct 1995 21:45:34 -0700 Received: from rustic (newt9.planet.net [204.117.105.9]) by freefall.freebsd.org (8.6.12/8.6.6) with ESMTP id VAA09163 for ; Mon, 16 Oct 1995 21:45:30 -0700 Received: (from jlc@localhost) by rustic (8.6.11/8.6.9) id AAA12843; Tue, 17 Oct 1995 00:48:28 -0400 Date: Tue, 17 Oct 1995 00:48:28 -0400 Message-Id: <199510170448.AAA12843@rustic> From: "Johanan L. Codona" To: freebsd-current@FreeBSD.ORG Subject: Re: kern/647 Sound cards fail to work Sender: owner-current@FreeBSD.ORG Precedence: bulk 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