[patch 12/32] acpi-thermal: fix mod_timer() interval

Chris Wright
2007-06-08T07:21:12Z

[-- Attachment #1: acpi-thermal-fix-mod_timer-interval.patch --]
[-- Type: text/plain, Size: 1074 bytes --]

-stable review patch. If anyone has any objections, please let us know.
---------------------

From: Andrew Morton <akpm@linux-foundation.org>

Use relative time, not absolute. Discovered by Jung-Ik (John) Lee
<jilee@google.com>.

Cc: Jung-Ik (John) Lee <jilee@google.com>
Acked-by: Len Brown <lenb@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
drivers/acpi/thermal.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

--- linux-2.6.20.13.orig/drivers/acpi/thermal.c
+++ linux-2.6.20.13/drivers/acpi/thermal.c
@@ -758,7 +758,8 @@ static void acpi_thermal_check(void *dat
del_timer(&(tz->timer));
} else {
if (timer_pending(&(tz->timer)))
- mod_timer(&(tz->timer), (HZ * sleep_time) / 1000);
+ mod_timer(&(tz->timer),
+ jiffies + (HZ * sleep_time) / 1000);
else {
tz->timer.data = (unsigned long)tz;
tz->timer.function = acpi_thermal_run;

--