At Mon, 18 Sep 2006 18:33:57 +0800, CV-jjhuang wrote: > > > In my experiment, sometimes, the bt878 will not send interrupt to interrupt controller > after something happened. > (It appeared easily when bt878 shared IRQ with many other drivers) > > I found there is something error in the interrupt handler of alsa-bt87x. > so, I wrote an patch for it. > (Ref : In the Bt878/879 document, section of interrupt status register says that " To > clear the interrupts, read this register, then write the same data back.") Hm, this shouldn't be needed since chip->interrupt_mask holds the bits in real interest. I guess it's harmless to ack there, but it's no real solution. Takashi > > jjhuang > > --- alsa-driver-1.0.11/alsa-kernel/pci/bt87x.c 2006-03-13 18:36:44.000000000 +0800 > +++ alsa-driver-1.0.11-fix-bug/alsa-kernel/pci/bt87x.c 2006-09-18 17:44:43.000000000 > +0800 > @@ -277,7 +277,10 @@ > status = snd_bt87x_readl(chip, REG_INT_STAT); > irq_status = status & chip->interrupt_mask; > if (!irq_status) > - return IRQ_NONE; > + { > + snd_bt87x_writel (chip, REG_INT_STAT, status); > + return IRQ_NONE; > + } > snd_bt87x_writel(chip, REG_INT_STAT, irq_status); > > if (irq_status & ERROR_INTERRUPTS) { > > ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.sourceforge.net/lists/listinfo/alsa-devel