summaryrefslogtreecommitdiff
path: root/sound/pci/au88x0
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2012-03-16 12:54:00 +0400
committerTakashi Iwai <tiwai@suse.de>2012-03-16 12:54:00 +0400
commitc6b76d1f02e2ab1109d8549877a3a24c6a2b4587 (patch)
tree52cc1aa741e151fcd942d858f6075c01993f9f3e /sound/pci/au88x0
parent0717d0f5d2737a63650a8d928360769e0d411bd5 (diff)
downloadlinux-c6b76d1f02e2ab1109d8549877a3a24c6a2b4587.tar.xz
ALSA: au88x0 - Avoid possible Oops at unbinding
The irq handler must check whether the MPU401 instance is still alive. Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/au88x0')
-rw-r--r--sound/pci/au88x0/au88x0_core.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sound/pci/au88x0/au88x0_core.c b/sound/pci/au88x0/au88x0_core.c
index 1181c5ec2d4f..525f881f0409 100644
--- a/sound/pci/au88x0/au88x0_core.c
+++ b/sound/pci/au88x0/au88x0_core.c
@@ -2477,7 +2477,7 @@ static irqreturn_t vortex_interrupt(int irq, void *dev_id)
hwread(vortex->mmio, VORTEX_IRQ_STAT);
handled = 1;
}
- if (source & IRQ_MIDI) {
+ if ((source & IRQ_MIDI) && vortex->rmidi) {
snd_mpu401_uart_interrupt(vortex->irq,
vortex->rmidi->private_data);
handled = 1;