diff --git a/[refs] b/[refs] index 259ff8127ed5..79dc7e430341 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 418ccbe37f70f5021c4cd1cdcb0ce7f98d05f2dd +refs/heads/master: edaf420fdc122e7a42326fe39274c8b8c9b19d41 diff --git a/trunk/arch/x86/kernel/tsc_32.c b/trunk/arch/x86/kernel/tsc_32.c index d78444c788a3..f04d08a7d022 100644 --- a/trunk/arch/x86/kernel/tsc_32.c +++ b/trunk/arch/x86/kernel/tsc_32.c @@ -131,7 +131,7 @@ unsigned long native_calculate_cpu_khz(void) { unsigned long long start, end; unsigned long count; - u64 delta64; + u64 delta64 = (u64)ULLONG_MAX; int i; unsigned long flags; @@ -143,6 +143,7 @@ unsigned long native_calculate_cpu_khz(void) rdtscll(start); mach_countup(&count); rdtscll(end); + delta64 = min(delta64, (end - start)); } /* * Error: ECTCNEVERSET @@ -153,8 +154,6 @@ unsigned long native_calculate_cpu_khz(void) if (count <= 1) goto err; - delta64 = end - start; - /* cpu freq too fast: */ if (delta64 > (1ULL<<32)) goto err;