From: Shaohua Li At suspend time, the TSC CPUFREQ_SUSPENDCHANGE notifier change might wrongly enable interrupt. cpufreq driver suspend/resume is in interrupt disabled environment. Signed-off-by: Shaohua Li Cc: Pavel Machek Signed-off-by: Andrew Morton --- arch/i386/kernel/timers/timer_tsc.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff -puN arch/i386/kernel/timers/timer_tsc.c~timer-tsc-check-suspend-notifier-change arch/i386/kernel/timers/timer_tsc.c --- devel/arch/i386/kernel/timers/timer_tsc.c~timer-tsc-check-suspend-notifier-change 2006-04-30 00:02:38.000000000 -0700 +++ devel-akpm/arch/i386/kernel/timers/timer_tsc.c 2006-04-30 00:02:38.000000000 -0700 @@ -279,7 +279,7 @@ time_cpufreq_notifier(struct notifier_bl { struct cpufreq_freqs *freq = data; - if (val != CPUFREQ_RESUMECHANGE) + if (val != CPUFREQ_RESUMECHANGE && val != CPUFREQ_SUSPENDCHANGE) write_seqlock_irq(&xtime_lock); if (!ref_freq) { if (!freq->old){ @@ -312,7 +312,7 @@ time_cpufreq_notifier(struct notifier_bl } end: - if (val != CPUFREQ_RESUMECHANGE) + if (val != CPUFREQ_RESUMECHANGE && val != CPUFREQ_SUSPENDCHANGE) write_sequnlock_irq(&xtime_lock); return 0; _