x86_64: hpet tsc calibration fix broken smi detection logic
authorThomas Gleixner <tglx@linutronix.de>
Sat, 21 Jul 2007 15:10:07 +0000 (17:10 +0200)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Sun, 22 Jul 2007 01:37:08 +0000 (18:37 -0700)
commit8180a550284bf2c8e13414082fc20b8983c2c401
tree2e0019b9607573aa5681333861bc46a6f435c2a3
parente82f64e5bb0648a13630d752c35be1e7bd8bab96
x86_64: hpet tsc calibration fix broken smi detection logic

The current SMI detection logic in read_hpet_tsc() makes sure,
that when a SMI happens between the read of the HPET counter and
the read of the TSC, this wrong value is used for TSC calibration.

This is not the intention of the function. The comparison must ensure,
that we do _NOT_ use such a value.

Fix the check to use calibration values where delta of the two TSC reads
is smaller than a reasonable threshold.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/x86_64/kernel/hpet.c