[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20070409185702.bbea2cb9.akpm@linux-foundation.org>
Date: Mon, 9 Apr 2007 18:57:02 -0700
From: Andrew Morton <akpm@...ux-foundation.org>
To: wally@...blackmoor.net
Cc: linux-kernel@...r.kernel.org, "Jung-Ik Lee" <jilee@...gle.com>,
linux-acpi@...r.kernel.org
Subject: Re: PROBLEM: ACPI Thermal Zone for CPU0 does not update after
hibernation
On Mon, 9 Apr 2007 21:47:38 -0400 (EDT) "Walter Francis" <wally@...blackmoor.net> wrote:
> > On Fri, 6 Apr 2007 16:13:55 -0400 (EDT)
> > "Walter Francis" <wally@...blackmoor.net> wrote:
>
> >> After hibernating, the CPU0 thermal zone never updates. It will stay at 59C
> >> forever for example.
>
> > Yeah, John spotted a bug in there the other day.
> >
> > Does this fix it?
> >
> > --- a/drivers/acpi/thermal.c~acpi-thermal-fix-mod_timer-interval
> > +++ a/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;
>
> No joy, didn't help.
>
> Didn't apply clean to 21-pre6 (still latest I see on kernel.org), but here's
> the section that seemed right.
>
> /*
> * Schedule Next Poll
> * ------------------
> */
> if (!sleep_time) {
> if (timer_pending(&(tz->timer)))
> del_timer(&(tz->timer));
> } else {
> if (timer_pending(&(tz->timer)))
> mod_timer(&(tz->timer),jiffies + (HZ * sleep_time) /
> 1000);
> else {
> tz->timer.data = (unsigned long)tz;
> tz->timer.function = acpi_thermal_run;
> tz->timer.expires = jiffies + (HZ * sleep_time) / 1000;
> add_timer(&(tz->timer));
Yes, the above looks like the correct change.
> Also, I think this is new with the line replaced.. Not sure exactly what's
> causing it, but when I restart the cpuspeed daemon:
>
> Starting cpuspeed: Error: Not an integer:
> /proc/acpi/thermal_zone/TZS1/temperature
Strange. Maybe a timing thing.
> # cat /proc/acpi/thermal_zone/TZS1/temperature
> temperature: 41 C
>
> Looks normal to me?
Yes it does. What happens of you stop and restart the daemon a second
time?
fwiw, /proc/acpi/thermal_zone/ATF0/temperature seems to do the right thing
here.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists