Re: PROBLEM: ACPI Thermal Zone for CPU0 does not update after hibernation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 9 Apr 2007 21:47:38 -0400 (EDT) "Walter Francis" <wally@xxxxxxxxxxxxxxxx> wrote:

> > On Fri, 6 Apr 2007 16:13:55 -0400 (EDT)
> > "Walter Francis" <wally@xxxxxxxxxxxxxxxx> 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-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux