From c795c46b761704a1ca2dbdf2b9753f66c881f164 Mon Sep 17 00:00:00 2001
From: Daniel T. Chen <crimsun@xxxxxxxxxxxxxxxxxxx>
Date: Mon, 24 Jul 2006 17:05:20 -0400
Subject: [PATCH] [UBUNTU:sound/pci/emu10k1/] Don't hang when Audigy 2 ZS
(cardbus) is removed
UpstreamStatus: Added in upstream alsa-kernel hg changeset f7f4bee7a600
http://hg-mirror.alsa-project.org/alsa-kernel?cmd=changeset;node=f7f4bee7a6004da8d3004819b4d8701668f0a302;style=raw
This patch from James Courtier-Dutton fixes ALSA bug #2190 where the
system hangs after an Audigy 2 ZS (cardbus) is unplugged.
Signed-off-by: Daniel T Chen <crimsun@xxxxxxxxxx>
---
sound/pci/emu10k1/irq.c | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/sound/pci/emu10k1/irq.c b/sound/pci/emu10k1/irq.c
index 594ea06..10d81b6 100644
--- a/sound/pci/emu10k1/irq.c
+++ b/sound/pci/emu10k1/irq.c
@@ -37,9 +37,13 @@ irqreturn_t snd_emu10k1_interrupt(int ir
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);
--
1.4.1
--
Daniel T. Chen crimsun@xxxxxxxxxx
GPG key: www.sh.nu/~crimsun/pubkey.gpg.asc
pgpphX9SRaECa.pgp
Description: PGP signature
|