ALSA: au88x0 - Avoid possible Oops at unbinding
authorTakashi Iwai <tiwai@suse.de>
Fri, 16 Mar 2012 08:54:00 +0000 (09:54 +0100)
committerTakashi Iwai <tiwai@suse.de>
Fri, 16 Mar 2012 08:54:00 +0000 (09:54 +0100)
The irq handler must check whether the MPU401 instance is still alive.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/au88x0/au88x0_core.c

index 1181c5ec2d4fe44638163237295abd990a98de0f..525f881f04096bd25cec390d0a2a26443a93aa0c 100644 (file)
@@ -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;