diff options
Diffstat (limited to 'sound/pci/emu10k1')
-rw-r--r-- | sound/pci/emu10k1/emu10k1_main.c | 11 | ||||
-rw-r--r-- | sound/pci/emu10k1/irq.c | 6 |
2 files changed, 16 insertions, 1 deletions
diff --git a/sound/pci/emu10k1/emu10k1_main.c b/sound/pci/emu10k1/emu10k1_main.c index f9b5c3dc3b34..79f24cdf5fbf 100644 --- a/sound/pci/emu10k1/emu10k1_main.c +++ b/sound/pci/emu10k1/emu10k1_main.c | |||
@@ -936,6 +936,17 @@ static struct snd_emu_chip_details emu_chip_details[] = { | |||
936 | .ca0151_chip = 1, | 936 | .ca0151_chip = 1, |
937 | .spk71 = 1, | 937 | .spk71 = 1, |
938 | .spdif_bug = 1} , | 938 | .spdif_bug = 1} , |
939 | /* Dell OEM/Creative Labs Audigy 2 ZS */ | ||
940 | /* See ALSA bug#1365 */ | ||
941 | {.vendor = 0x1102, .device = 0x0004, .subsystem = 0x10031102, | ||
942 | .driver = "Audigy2", .name = "Audigy 2 ZS [SB0353]", | ||
943 | .id = "Audigy2", | ||
944 | .emu10k2_chip = 1, | ||
945 | .ca0102_chip = 1, | ||
946 | .ca0151_chip = 1, | ||
947 | .spk71 = 1, | ||
948 | .spdif_bug = 1, | ||
949 | .ac97_chip = 1} , | ||
939 | {.vendor = 0x1102, .device = 0x0004, .subsystem = 0x10021102, | 950 | {.vendor = 0x1102, .device = 0x0004, .subsystem = 0x10021102, |
940 | .driver = "Audigy2", .name = "Audigy 2 Platinum [SB0240P]", | 951 | .driver = "Audigy2", .name = "Audigy 2 Platinum [SB0240P]", |
941 | .id = "Audigy2", | 952 | .id = "Audigy2", |
diff --git a/sound/pci/emu10k1/irq.c b/sound/pci/emu10k1/irq.c index a8b31286b6db..1076af4c3669 100644 --- a/sound/pci/emu10k1/irq.c +++ b/sound/pci/emu10k1/irq.c | |||
@@ -37,9 +37,13 @@ irqreturn_t snd_emu10k1_interrupt(int irq, void *dev_id, struct pt_regs *regs) | |||
37 | int handled = 0; | 37 | int handled = 0; |
38 | 38 | ||
39 | while ((status = inl(emu->port + IPR)) != 0) { | 39 | while ((status = inl(emu->port + IPR)) != 0) { |
40 | //printk("emu10k1 irq - status = 0x%x\n", status); | 40 | //snd_printk(KERN_INFO "emu10k1 irq - status = 0x%x\n", status); |
41 | orig_status = status; | 41 | orig_status = status; |
42 | handled = 1; | 42 | handled = 1; |
43 | if ((status & 0xffffffff) == 0xffffffff) { | ||
44 | snd_printk(KERN_INFO "snd-emu10k1: Suspected sound card removal\n"); | ||
45 | break; | ||
46 | } | ||
43 | if (status & IPR_PCIERROR) { | 47 | if (status & IPR_PCIERROR) { |
44 | snd_printk(KERN_ERR "interrupt: PCI error\n"); | 48 | snd_printk(KERN_ERR "interrupt: PCI error\n"); |
45 | snd_emu10k1_intr_disable(emu, INTE_PCIERRORENABLE); | 49 | snd_emu10k1_intr_disable(emu, INTE_PCIERRORENABLE); |