public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] timer TSC check suspend notifier change
@ 2006-04-30  3:23 Shaohua Li
  2006-05-02  6:36 ` Andi Kleen
  0 siblings, 1 reply; 2+ messages in thread
From: Shaohua Li @ 2006-04-30  3:23 UTC (permalink / raw)
  To: lkml; +Cc: Andrew Morton


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@intel.com>
---

 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;
_



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2006-05-02  6:37 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-04-30  3:23 [PATCH] timer TSC check suspend notifier change Shaohua Li
2006-05-02  6:36 ` Andi Kleen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox