List Info

Thread: Don't hang when Audigy 2 ZS (cardbus) is removed




Don't hang when Audigy 2 ZS (cardbus) is removed
user name
2006-07-24 21:11:04
From c795c46b761704a1ca2dbdf2b9753f66c881f164 Mon Sep 17
00:00:00 2001
From: Daniel T. Chen <crimsungarnish.localdomain>
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=changes
et;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 <crimsunubuntu.com>
---
 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            crimsunubuntu.com
GPG key:   www.sh.nu/~crimsun/pubkey.gpg.asc
-- 
kernel-team mailing list
kernel-teamlists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/kernel-team
[1]

about | contact  Other archives ( Real Estate discussion Medical topics )