aboutsummaryrefslogtreecommitdiffstats
path: root/arch/i386/kernel/tsc.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/i386/kernel/tsc.c')
-rw-r--r--arch/i386/kernel/tsc.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/i386/kernel/tsc.c b/arch/i386/kernel/tsc.c
index 0fd93107ff9a..a37654991788 100644
--- a/arch/i386/kernel/tsc.c
+++ b/arch/i386/kernel/tsc.c
@@ -314,7 +314,8 @@ static struct clocksource clocksource_tsc = {
314 .mult = 0, /* to be set */ 314 .mult = 0, /* to be set */
315 .shift = 22, 315 .shift = 22,
316 .update_callback = tsc_update_callback, 316 .update_callback = tsc_update_callback,
317 .is_continuous = 1, 317 .flags = CLOCK_SOURCE_IS_CONTINUOUS |
318 CLOCK_SOURCE_MUST_VERIFY,
318}; 319};
319 320
320static int tsc_update_callback(void) 321static int tsc_update_callback(void)
@@ -434,8 +435,10 @@ static int __init init_tsc_clocksource(void)
434 clocksource_tsc.mult = clocksource_khz2mult(current_tsc_khz, 435 clocksource_tsc.mult = clocksource_khz2mult(current_tsc_khz,
435 clocksource_tsc.shift); 436 clocksource_tsc.shift);
436 /* lower the rating if we already know its unstable: */ 437 /* lower the rating if we already know its unstable: */
437 if (check_tsc_unstable()) 438 if (check_tsc_unstable()) {
438 clocksource_tsc.rating = 0; 439 clocksource_tsc.rating = 0;
440 clocksource_tsc.flags &= ~CLOCK_SOURCE_IS_CONTINUOUS;
441 }
439 442
440 init_timer(&verify_tsc_freq_timer); 443 init_timer(&verify_tsc_freq_timer);
441 verify_tsc_freq_timer.function = verify_tsc_freq; 444 verify_tsc_freq_timer.function = verify_tsc_freq;