summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDirk Brandewie <dirk.brandewie@gmail.com>2013-04-04 19:35:35 +0200
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2013-04-08 22:09:23 +0200
commitec376a2ab97ec3be52ca282dc6ac102e805d1005 (patch)
treee1460a4faa9b35cc82bb9b397deffab8319a2af7
parentLinux 3.9-rc6 (diff)
downloadlinux-ec376a2ab97ec3be52ca282dc6ac102e805d1005.tar.xz
linux-ec376a2ab97ec3be52ca282dc6ac102e805d1005.zip
cpufreq / intel_pstate: Set timer timeout correctly
The current calculation of the delay time is wrong and a cut and paste error from a previous experimental driver. This can result in the timeout being set to jiffies + 1 which setup the driver to race with itself if the APIC timer interrupt happens at just the right time. References: https://bugzilla.redhat.com/show_bug.cgi?id=920289 Reported-by: Adam Williamson <awilliam@redhat.com> Reported-and-tested-by: Parag Warudkar <parag.lkml@gmail.com> Signed-off-by: Dirk Brandewie <dirk.j.brandewie@intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
-rw-r--r--drivers/cpufreq/intel_pstate.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c
index ad72922919ed..6133ef5cf671 100644
--- a/drivers/cpufreq/intel_pstate.c
+++ b/drivers/cpufreq/intel_pstate.c
@@ -502,7 +502,6 @@ static inline void intel_pstate_set_sample_time(struct cpudata *cpu)
sample_time = cpu->pstate_policy->sample_rate_ms;
delay = msecs_to_jiffies(sample_time);
- delay -= jiffies % delay;
mod_timer_pinned(&cpu->timer, jiffies + delay);
}