diff options
-rw-r--r-- | arch/x86/kernel/tsc.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/x86/kernel/tsc.c b/arch/x86/kernel/tsc.c index 599e58168631..9e80207c96a2 100644 --- a/arch/x86/kernel/tsc.c +++ b/arch/x86/kernel/tsc.c | |||
@@ -315,6 +315,15 @@ static unsigned long quick_pit_calibrate(void) | |||
315 | outb(0xff, 0x42); | 315 | outb(0xff, 0x42); |
316 | outb(0xff, 0x42); | 316 | outb(0xff, 0x42); |
317 | 317 | ||
318 | /* | ||
319 | * The PIT starts counting at the next edge, so we | ||
320 | * need to delay for a microsecond. The easiest way | ||
321 | * to do that is to just read back the 16-bit counter | ||
322 | * once from the PIT. | ||
323 | */ | ||
324 | inb(0x42); | ||
325 | inb(0x42); | ||
326 | |||
318 | if (pit_expect_msb(0xff)) { | 327 | if (pit_expect_msb(0xff)) { |
319 | int i; | 328 | int i; |
320 | u64 t1, t2, delta; | 329 | u64 t1, t2, delta; |