瀏覽代碼

ALSA: Fix PIT lockup on some chipsets when using the PC-Speaker

Fix PIT lockup on some chipsets when using the PC-Speaker.

Signed-off-by: Zoltan Devai <zdevai@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Zoltan Devai 16 年之前
父節點
當前提交
b02555c384
共有 1 個文件被更改,包括 2 次插入2 次删除
  1. 2 2
      sound/drivers/pcsp/pcsp_input.c

+ 2 - 2
sound/drivers/pcsp/pcsp_input.c

@@ -24,13 +24,13 @@ static void pcspkr_do_sound(unsigned int count)
 	spin_lock_irqsave(&i8253_lock, flags);
 
 	if (count) {
-		/* enable counter 2 */
-		outb_p(inb_p(0x61) | 3, 0x61);
 		/* set command for counter 2, 2 byte write */
 		outb_p(0xB6, 0x43);
 		/* select desired HZ */
 		outb_p(count & 0xff, 0x42);
 		outb((count >> 8) & 0xff, 0x42);
+		/* enable counter 2 */
+		outb_p(inb_p(0x61) | 3, 0x61);
 	} else {
 		/* disable counter 2 */
 		outb(inb_p(0x61) & 0xFC, 0x61);