This driver is emitting unhandled interrupt warnings. I don't have a clue why - the code looks right. This is the second or third driver which has been discovered to do this (boomerang_interrupt() is another). sound/pci/via82xx.c | 9 +++++++-- 1 files changed, 7 insertions(+), 2 deletions(-) diff -puN sound/pci/via82xx.c~irqreturn-snd-via-fix sound/pci/via82xx.c --- 25/sound/pci/via82xx.c~irqreturn-snd-via-fix 2003-05-06 00:38:02.000000000 -0700 +++ 25-akpm/sound/pci/via82xx.c 2003-05-06 00:49:18.000000000 -0700 @@ -591,8 +591,13 @@ static irqreturn_t snd_via82xx_interrupt spin_unlock(&chip->reg_lock); if (chip->rmidi) /* check mpu401 interrupt */ - return snd_mpu401_uart_interrupt(irq, chip->rmidi->private_data, regs); - return IRQ_NONE; + snd_mpu401_uart_interrupt(irq, + chip->rmidi->private_data, regs); + /* + * We really should return IRQ_NONE here, but for some reason + * this "can't happen" patch actually happens. + */ + return IRQ_HANDLED; } // _skip_sgd: _