

It think these functions should be returning IRQ_HANDLED, even though they
didn't recognise the IRQ.

They've just done

	snd_cs4281_pokeBA0(chip, BA0_HICR, BA0_HICR_EOI);

which presumably acks the interrupt anyway.



 25-akpm/sound/pci/cs4281.c            |    2 +-
 25-akpm/sound/pci/cs46xx/cs46xx_lib.c |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff -puN sound/pci/cs4281.c~irqreturn-sound-2 sound/pci/cs4281.c
--- 25/sound/pci/cs4281.c~irqreturn-sound-2	Mon Apr 21 13:27:09 2003
+++ 25-akpm/sound/pci/cs4281.c	Mon Apr 21 13:27:30 2003
@@ -1894,7 +1894,7 @@ static irqreturn_t snd_cs4281_interrupt(
 	status = snd_cs4281_peekBA0(chip, BA0_HISR);
 	if ((status & 0x7fffffff) == 0) {
 		snd_cs4281_pokeBA0(chip, BA0_HICR, BA0_HICR_EOI);
-		return IRQ_NONE;
+		return IRQ_HANDLED;
 	}
 
 	if (status & (BA0_HISR_DMA(0)|BA0_HISR_DMA(1)|BA0_HISR_DMA(2)|BA0_HISR_DMA(3))) {
diff -puN sound/pci/cs46xx/cs46xx_lib.c~irqreturn-sound-2 sound/pci/cs46xx/cs46xx_lib.c
--- 25/sound/pci/cs46xx/cs46xx_lib.c~irqreturn-sound-2	Mon Apr 21 13:27:09 2003
+++ 25-akpm/sound/pci/cs46xx/cs46xx_lib.c	Mon Apr 21 13:27:34 2003
@@ -1234,7 +1234,7 @@ static irqreturn_t snd_cs46xx_interrupt(
 	status1 = snd_cs46xx_peekBA0(chip, BA0_HISR);
 	if ((status1 & 0x7fffffff) == 0) {
 		snd_cs46xx_pokeBA0(chip, BA0_HICR, HICR_CHGM | HICR_IEV);
-		return IRQ_NONE;
+		return IRQ_HANDLED;
 	}
 
 #ifdef CONFIG_SND_CS46XX_NEW_DSP

_
