From: Takashi Iwai <tiwai@suse.de>
Date: Fri, 16 Mar 2012 08:54:00 +0000 (+0100)
Subject: ALSA: au88x0 - Avoid possible Oops at unbinding
X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=c6b76d1f02e2ab1109d8549877a3a24c6a2b4587;p=GitHub%2FLineageOS%2FG12%2Fandroid_kernel_amlogic_linux-4.9.git

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>
---

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;