[PATCH] timer TSC check suspend notifier change

From: Shaohua Li
Date: Sat Apr 29 2006 - 23:27:00 EST



in 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 <shaohua.li@xxxxxxxxx>
---

linux-2.6.17-rc3-root/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_change arch/i386/kernel/timers/timer_tsc.c
--- linux-2.6.17-rc3/arch/i386/kernel/timers/timer_tsc.c~timer_tsc_check_suspend_change 2006-04-29 08:25:38.000000000 +0800
+++ linux-2.6.17-rc3-root/arch/i386/kernel/timers/timer_tsc.c 2006-04-29 08:29:33.000000000 +0800
@@ -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;
_


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/