diff options
| -rw-r--r-- | arch/x86/kernel/tsc_64.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/x86/kernel/tsc_64.c b/arch/x86/kernel/tsc_64.c index fcc16e58609e..1784b8077a12 100644 --- a/arch/x86/kernel/tsc_64.c +++ b/arch/x86/kernel/tsc_64.c | |||
| @@ -227,14 +227,14 @@ void __init tsc_calibrate(void) | |||
| 227 | /* hpet or pmtimer available ? */ | 227 | /* hpet or pmtimer available ? */ |
| 228 | if (!hpet && !pm1 && !pm2) { | 228 | if (!hpet && !pm1 && !pm2) { |
| 229 | printk(KERN_INFO "TSC calibrated against PIT\n"); | 229 | printk(KERN_INFO "TSC calibrated against PIT\n"); |
| 230 | return; | 230 | goto out; |
| 231 | } | 231 | } |
| 232 | 232 | ||
| 233 | /* Check, whether the sampling was disturbed by an SMI */ | 233 | /* Check, whether the sampling was disturbed by an SMI */ |
| 234 | if (tsc1 == ULONG_MAX || tsc2 == ULONG_MAX) { | 234 | if (tsc1 == ULONG_MAX || tsc2 == ULONG_MAX) { |
| 235 | printk(KERN_WARNING "TSC calibration disturbed by SMI, " | 235 | printk(KERN_WARNING "TSC calibration disturbed by SMI, " |
| 236 | "using PIT calibration result\n"); | 236 | "using PIT calibration result\n"); |
| 237 | return; | 237 | goto out; |
| 238 | } | 238 | } |
| 239 | 239 | ||
| 240 | tsc2 = (tsc2 - tsc1) * 1000000L; | 240 | tsc2 = (tsc2 - tsc1) * 1000000L; |
| @@ -255,6 +255,7 @@ void __init tsc_calibrate(void) | |||
| 255 | 255 | ||
| 256 | tsc_khz = tsc2 / tsc1; | 256 | tsc_khz = tsc2 / tsc1; |
| 257 | 257 | ||
| 258 | out: | ||
| 258 | for_each_possible_cpu(cpu) | 259 | for_each_possible_cpu(cpu) |
| 259 | set_cyc2ns_scale(tsc_khz, cpu); | 260 | set_cyc2ns_scale(tsc_khz, cpu); |
| 260 | } | 261 | } |
