diff options
| -rw-r--r-- | arch/x86/kernel/apic/apic.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.c index edc24480469f..3beab627190e 100644 --- a/arch/x86/kernel/apic/apic.c +++ b/arch/x86/kernel/apic/apic.c | |||
| @@ -1325,11 +1325,13 @@ void __cpuinit setup_local_APIC(void) | |||
| 1325 | acked); | 1325 | acked); |
| 1326 | break; | 1326 | break; |
| 1327 | } | 1327 | } |
| 1328 | if (cpu_has_tsc) { | 1328 | if (queued) { |
| 1329 | rdtscll(ntsc); | 1329 | if (cpu_has_tsc) { |
| 1330 | max_loops = (cpu_khz << 10) - (ntsc - tsc); | 1330 | rdtscll(ntsc); |
| 1331 | } else | 1331 | max_loops = (cpu_khz << 10) - (ntsc - tsc); |
| 1332 | max_loops--; | 1332 | } else |
| 1333 | max_loops--; | ||
| 1334 | } | ||
| 1333 | } while (queued && max_loops > 0); | 1335 | } while (queued && max_loops > 0); |
| 1334 | WARN_ON(max_loops <= 0); | 1336 | WARN_ON(max_loops <= 0); |
| 1335 | 1337 | ||
