[alsa-devel] [regression] 2.6.25-rc4 snd-es18xx broken on Alpha
Tyson Whitehead
twhitehe at uwo.ca
Tue Mar 18 15:16:58 CET 2008
Takashi Iwai wrote:
> At Fri, 14 Mar 2008 21:18:19 -0400,
>
>> Even
>> then, though, I believe it still only works in 8bit mode.
>
> Maybe the problem is in a different place, then...
It certainly doesn't work at all without it. It is definetly not
managing to figure out that the generated interupt is for itself.
> ---
>
> diff -r 82e6201fc907 sound/isa/es18xx.c
> --- a/sound/isa/es18xx.c Mon Mar 17 14:36:24 2008 +0100
> +++ b/sound/isa/es18xx.c Mon Mar 17 17:32:59 2008 +0100
> @@ -765,9 +765,10 @@ static irqreturn_t snd_es18xx_interrupt(
> /* Read Interrupt status */
> status = snd_es18xx_mixer_read(chip, 0x7f) >> 4;
> }
> -#if 0
> - else {
> - status = 0;
> +
> +#ifdef CONFIG_ALPHA
> + if (!(status & (AUDIO1_IRQ | AUDIO2_IRQ))) {
> + /* status = 0; */
> if (inb(chip->port + 0x0C) & 0x01)
> status |= AUDIO1_IRQ;
> if (snd_es18xx_mixer_read(chip, 0x7A) & 0x80)
> @@ -777,7 +778,6 @@ static irqreturn_t snd_es18xx_interrupt(
> status |= HWV_IRQ;
> }
> #endif
> -
> /* Audio 1 & Audio 2 */
> if (status & AUDIO2_IRQ) {
> if (chip->active & DAC2)
This looks like it should accomplish the same thing (assuming not bits
get set in status on the initial attempt to read it), without affecting
other platforms and possible the alpha if anyone has a card that just
works for whatever reason. A better patch all around. : )
Cheers! -Tyson
PS: I've managed to recover my disks, and the machine is compiling
2.25-rc5 even as I write.
More information about the Alsa-devel
mailing list