summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2011-01-11 11:40:48 +0100
committerThomas Gleixner <tglx@linutronix.de>2011-01-11 11:48:39 +0100
commit29fe359ca20326e57b25e8545c49ed9ff5e830c7 (patch)
treef826f648024d47cd0717d727b4fa43a28fa36caf
parent4aed89d6b515b9185351706ca95cd712c9d8d6a3 (diff)
downloadlinux-3.10-29fe359ca20326e57b25e8545c49ed9ff5e830c7.tar.gz
linux-3.10-29fe359ca20326e57b25e8545c49ed9ff5e830c7.tar.bz2
linux-3.10-29fe359ca20326e57b25e8545c49ed9ff5e830c7.zip
x86: tsc: Prevent delayed init if initial tsc calibration failed
commit a8760ec (x86: Check tsc available/disabled in the delayed init function) missed to prevent the setup of the delayed init function in case the initial tsc calibration failed. This results in the same divide by zero bug as we have seen without the tsc disabled check. Skip the delayed work setup when tsc_khz (the initial calibration value) is 0. Bisected-and-tested-by: Kirill A. Shutemov <kas@openvz.org> Cc: John Stultz <john.stultz@linaro.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-rw-r--r--arch/x86/kernel/tsc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/kernel/tsc.c b/arch/x86/kernel/tsc.c
index 356a0d455cf..463901efdba 100644
--- a/arch/x86/kernel/tsc.c
+++ b/arch/x86/kernel/tsc.c
@@ -965,7 +965,7 @@ out:
static int __init init_tsc_clocksource(void)
{
- if (!cpu_has_tsc || tsc_disabled > 0)
+ if (!cpu_has_tsc || tsc_disabled > 0 || !tsc_khz)
return 0;
if (tsc_clocksource_reliable)