瀏覽代碼

ALSA: hdsp - Ignore MIDI and PCM events in interrupts until initialized

Ignore MIDI and PCM events in the interrupt handler until the device
gets initialized properly.  Otherwise you may get kernel panic by the
access to uninitialized devices via hotplugging.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai 16 年之前
父節點
當前提交
c2503cd3be
共有 1 個文件被更改,包括 3 次插入0 次删除
  1. 3 0
      sound/pci/rme9652/hdsp.c

+ 3 - 0
sound/pci/rme9652/hdsp.c

@@ -3740,6 +3740,9 @@ static irqreturn_t snd_hdsp_interrupt(int irq, void *dev_id)
 	midi0status = hdsp_read (hdsp, HDSP_midiStatusIn0) & 0xff;
 	midi1status = hdsp_read (hdsp, HDSP_midiStatusIn1) & 0xff;
 
+	if (!(hdsp->state & HDSP_InitializationComplete))
+		return IRQ_HANDLED;
+
 	if (audio) {
 		if (hdsp->capture_substream)
 			snd_pcm_period_elapsed(hdsp->pcm->streams[SNDRV_PCM_STREAM_CAPTURE].substream);