x86: Check tsc available/disabled in the delayed init function

The delayed TSC init function does not check whether the system has no
TSC or TSC is disabled at the kernel command line, which results in a
crash in the work queue based extended calibration due to division by
zero because the basic calibration never happened.

Add the missing checks and do not touch TSC when not available or
disabled.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: John Stultz <johnstul@us.ibm.com>

+3
+3
arch/x86/kernel/tsc.c
··· 965 965 966 966 static int __init init_tsc_clocksource(void) 967 967 { 968 + if (!cpu_has_tsc || tsc_disabled > 0) 969 + return 0; 970 + 968 971 if (tsc_clocksource_reliable) 969 972 clocksource_tsc.flags &= ~CLOCK_SOURCE_MUST_VERIFY; 970 973 /* lower the rating if we already know its unstable: */