[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#434571: Module snd-sb16 set interrupts wrong



On Tue, Jul 24, 2007 at 02:22:00PM -0700, David Lawyer wrote:
> Package: linux-image
> Version: 2.6.21-2
> 
> I have the Sound Blaster 16 OEM card CT1790 which I have mainly used
> to play CDs thru.  It has jumpers to set IRQs and it's set at irq2.  I
> seem to only be able to get it to work OK at irq5 which is the default
> for the card.  Except that my Modem is on irq 5.  That's why I set the
> jumper to irq2.  Now the card, while not PnP, can have it's interrupts
> set by software (by Linux software ?).  Well, yes, because when I load
> the snd-sb16 module for it and specify irq=2 I find from
> /proc/interrupts that it's been set to irq 5 and the sound card works
> OK (at least with .wav files).  So the linux software must have changed
> the irq 2 (that I jumpered) to irq 5.  This happens when I haven't
> used my modem yet and irq 5 is still available.
> 
> But now I can't use my modem.  If I remove the module, irq 5 is
> available (per /proc/int*) and the modem will grab irq 5 and try to
> dial.  But I get all sorts of errors due the the shorting out of the
> irq 5 line by the sound card since irq 5 is still set in the sound
> card even though the sound card module has been removed and irq 5 has
> been released by the kernel.  My sound card is working right since
> it's sending 0 volts (a grounded line --actually low impedance) on the
> irq 5 line to indicate that it isn't sending any interrupts.  So the
> kernel needs to have a list of resources that exist in hardware but
> are not currently supported by any loaded module, or the like.
> 
> Once the interrupt has been changed to 5, the only way I know to get
> it back to 2 is to power-down (turn off the power) and then boot again.
> This is not a power-on reboot.
> 
> Now, if when loading the snd-sb16 module after I start the modem so
> that irq 5 is in use with irq=2 on the command line, /proc/int*
> does show that irq 9 is for SoundBlaster (since irq 2 and 9 are
> really the same irq).  OK so far but irq 9 is never sent by the
> sound-card when I try to use it, although the module is apparently
> listening for it.  Nor is irq 5 sent either as may be checked by
> starting the modem and checking the number of interrupts sent per
> /proc/int* after trying to play a .wav file.  Playing a .wav file only
> plays the first couple of words since apparently no interrupts are
> sent.
> 
> So it seems to me that the snd-sb16 module may not be able to change
> the interrupts except perhaps to reset the card so that the default
> irq 5 is set it the card, overriding what may be set by jumpers.
> If the driver has such limitations, they need to be either fixed or
> documented.

Do you still own that card?
There are several changes in git related to the interrupt handling
of non-pnp Soundblaster cards. Does this still occur with more
recent kernels (2.6.26 from Lenny or later kernels from unstable)?

Cheers,
        Moritz





Reply to: