提交 fd495471 编写于 作者: J john stultz 提交者: Linus Torvalds

[PATCH] x86_64: Fix collision between pmtimer and pit/hpet

On systems that do not support the HPET legacy functions (basically the IBM
x460, but there could be others), in time_init() we accidentally fall into a
PM timer conditional and set the vxtime_hz value to the PM timer's frequency.
We then use this value with the HPET for timekeeping.

This patch (which mimics the behavior in time_init_gtod) corrects the
collision.
Signed-off-by: NAndi Kleen <ak@suse.de>
Signed-off-by: NAndrew Morton <akpm@osdl.org>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 df818a52
...@@ -915,7 +915,7 @@ void __init time_init(void) ...@@ -915,7 +915,7 @@ void __init time_init(void)
cpu_khz = hpet_calibrate_tsc(); cpu_khz = hpet_calibrate_tsc();
timename = "HPET"; timename = "HPET";
#ifdef CONFIG_X86_PM_TIMER #ifdef CONFIG_X86_PM_TIMER
} else if (pmtmr_ioport) { } else if (pmtmr_ioport && !vxtime.hpet_address) {
vxtime_hz = PM_TIMER_FREQUENCY; vxtime_hz = PM_TIMER_FREQUENCY;
timename = "PM"; timename = "PM";
pit_init(); pit_init();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册