Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 2 Jun 1997 05:53:16 +1000
From:      Bruce Evans <bde@zeta.org.au>
To:        ache@nagual.pp.ru, bde@zeta.org.au
Cc:        current@FreeBSD.ORG, se@FreeBSD.ORG
Subject:   Re: Shared irq's broke sounddriver badly
Message-ID:  <199706011953.FAA32060@godzilla.zeta.org.au>

next in thread | raw e-mail | index | archive | help
>> >opl0 at 0x388-0x38b irq 31 on isa
>> >		    ^^^^^^		
>> 
>> What was it originally?
>
>There is no IRQ for this device at all (according to config line).

This is another old, previously unreported, bug.  soundcard.c corrupts
no-IRQ to irq 31 via the following operations:

    hw_config.irq = ipri_to_irq(dev->id_irq);   /* in sndprobe() */
    dev->id_irq = (1 << hw_config.irq);         /* in sndattach() */

ipri_to_irq(0) = (unsigned short)-1 = 0xffff (assuming 16-bit unsigned shorts).
1 << 0xffff = 1 < (0xfffff) & 0x1f) = 1 << 31 (assuming a 386).

Bruce



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