Commit 7671988b authored by Thomas Gleixner's avatar Thomas Gleixner Committed by Linus Torvalds

i386: PIT stop only, when in periodic or oneshot mode

The patch is necessary on one of my boxen, where programming the stop
sequence twice leads to PIT malfunction.

Sigh !
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Cc: Andi Kleen <ak@suse.de>
Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 82644459
...@@ -47,9 +47,12 @@ static void init_pit_timer(enum clock_event_mode mode, ...@@ -47,9 +47,12 @@ static void init_pit_timer(enum clock_event_mode mode,
case CLOCK_EVT_MODE_SHUTDOWN: case CLOCK_EVT_MODE_SHUTDOWN:
case CLOCK_EVT_MODE_UNUSED: case CLOCK_EVT_MODE_UNUSED:
outb_p(0x30, PIT_MODE); if (evt->mode == CLOCK_EVT_MODE_PERIODIC ||
outb_p(0, PIT_CH0); /* LSB */ evt->mode == CLOCK_EVT_MODE_ONESHOT) {
outb_p(0, PIT_CH0); /* MSB */ outb_p(0x30, PIT_MODE);
outb_p(0, PIT_CH0);
outb_p(0, PIT_CH0);
}
break; break;
case CLOCK_EVT_MODE_ONESHOT: case CLOCK_EVT_MODE_ONESHOT:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment