[ALSA] snd-emu10k1: Fixes ALSA bug#2190
authorJames Courtier-Dutton <James@superbug.co.uk>
Sun, 23 Jul 2006 12:59:44 +0000 (13:59 +0100)
committerJaroslav Kysela <perex@suse.cz>
Thu, 3 Aug 2006 13:21:16 +0000 (15:21 +0200)
Fixes ALSA bug#2190 System hangs on unplugging Audigy 2 ZS
Notebook CardBus card.

Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
sound/pci/emu10k1/irq.c

index a8b31286b6db773de31d7157f5df84683d0779b3..1076af4c36696cf2572fe5f1c8b034639c43905f 100644 (file)
@@ -37,9 +37,13 @@ irqreturn_t snd_emu10k1_interrupt(int irq, void *dev_id, struct pt_regs *regs)
        int handled = 0;
 
        while ((status = inl(emu->port + IPR)) != 0) {
-               //printk("emu10k1 irq - status = 0x%x\n", status);
+               //snd_printk(KERN_INFO "emu10k1 irq - status = 0x%x\n", status);
                orig_status = status;
                handled = 1;
+               if ((status & 0xffffffff) == 0xffffffff) {
+                       snd_printk(KERN_INFO "snd-emu10k1: Suspected sound card removal\n");
+                       break;
+               }
                if (status & IPR_PCIERROR) {
                        snd_printk(KERN_ERR "interrupt: PCI error\n");
                        snd_emu10k1_intr_disable(emu, INTE_PCIERRORENABLE);