浏览代码

ALSA: ice1724 - Fix IRQ register initialization

The IRQMASK register has to be set to zero expclitily at the initialization
otherwise you'll get no interrupts properly at later operations.

Also, removed the old commented out codes.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai 16 年之前
父节点
当前提交
4074ea2149
共有 1 个文件被更改,包括 3 次插入6 次删除
  1. 3 6
      sound/pci/ice1712/ice1724.c

+ 3 - 6
sound/pci/ice1712/ice1724.c

@@ -2353,7 +2353,6 @@ static int __devinit snd_vt1724_create(struct snd_card *card,
 {
 	struct snd_ice1712 *ice;
 	int err;
-	/* unsigned char mask; */
 	static struct snd_device_ops ops = {
 		.dev_free =	snd_vt1724_dev_free,
 	};
@@ -2414,11 +2413,9 @@ static int __devinit snd_vt1724_create(struct snd_card *card,
 		return -EIO;
 	}
 
-	/* unmask used interrupts */
-#if 0 /* these are enabled/disabled dynamically */
-	mask = VT1724_IRQ_MPU_RX | VT1724_IRQ_MPU_TX;
-	outb(mask, ICEREG1724(ice, IRQMASK));
-#endif
+	/* clear interrupts -- otherwise you'll get irq problems later */
+	outb(0, ICEREG1724(ice, IRQMASK));
+
 	/* don't handle FIFO overrun/underruns (just yet),
 	 * since they cause machine lockups
 	 */