diff options
Diffstat (limited to 'arch/i386/kernel')
-rw-r--r-- | arch/i386/kernel/timers/timer_tsc.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/i386/kernel/timers/timer_tsc.c b/arch/i386/kernel/timers/timer_tsc.c index 47675bbbb316..591a642af884 100644 --- a/arch/i386/kernel/timers/timer_tsc.c +++ b/arch/i386/kernel/timers/timer_tsc.c | |||
@@ -272,6 +272,10 @@ time_cpufreq_notifier(struct notifier_block *nb, unsigned long val, | |||
272 | if (val != CPUFREQ_RESUMECHANGE) | 272 | if (val != CPUFREQ_RESUMECHANGE) |
273 | write_seqlock_irq(&xtime_lock); | 273 | write_seqlock_irq(&xtime_lock); |
274 | if (!ref_freq) { | 274 | if (!ref_freq) { |
275 | if (!freq->old){ | ||
276 | ref_freq = freq->new; | ||
277 | goto end; | ||
278 | } | ||
275 | ref_freq = freq->old; | 279 | ref_freq = freq->old; |
276 | loops_per_jiffy_ref = cpu_data[freq->cpu].loops_per_jiffy; | 280 | loops_per_jiffy_ref = cpu_data[freq->cpu].loops_per_jiffy; |
277 | #ifndef CONFIG_SMP | 281 | #ifndef CONFIG_SMP |
@@ -297,6 +301,7 @@ time_cpufreq_notifier(struct notifier_block *nb, unsigned long val, | |||
297 | #endif | 301 | #endif |
298 | } | 302 | } |
299 | 303 | ||
304 | end: | ||
300 | if (val != CPUFREQ_RESUMECHANGE) | 305 | if (val != CPUFREQ_RESUMECHANGE) |
301 | write_sequnlock_irq(&xtime_lock); | 306 | write_sequnlock_irq(&xtime_lock); |
302 | 307 | ||