2006-03-16 07:29:55

by Luming Yu

[permalink] [raw]
Subject: RE: 2.6.16-rc5: known regressions [TP 600X S3, vanilla DSDT]

>It doesn't hang. Though it seemed close to hanging a couple times,
>but after a 5-10 second pause always managed to go to sleep. I tried
>about 15 sleep cycles, with a few echo 1 > polling_frequency thrown in.

ACPI SPEC define:

_PSV : thermal zone object that returns Passive trip point in
tenths of digress Kelvin.

_ACx: thermal zone object that returns active cooling policy
threshold values in tenths of degrees Kelvin.

I suspect , when hang, the system was trying to start active cooling
with Fan
in function acpi_thermal_active that was somehow conflict request with
_PTS's call to SMPI in BIOS. So, the solution is :

Disable active/passive cooling request before suspend.

To verify this, please hack acpi_thermal_active.

We need a suspend/resume method for acpi thermal to cleanly solve
your problem.

Thanks,
Luming


2006-03-16 07:57:44

by Sanjoy Mahajan

[permalink] [raw]
Subject: Re: 2.6.16-rc5: known regressions [TP 600X S3, vanilla DSDT]

> To verify this, please hack acpi_thermal_active.

Do you mean hack it for now to return without doing anything (like if
'tz' wasn't valid)? Or do it farther in the function, like by
changing

result =
acpi_bus_set_power(active->devices.
handles[j],
ACPI_STATE_D0);
to

result = 1;

> Disable active/passive cooling request before suspend.

Do I need to hack acpi_thermal_passive() as well?

-Sanjoy

`Never underestimate the evil of which men of power are capable.'
--Bertrand Russell, _War Crimes in Vietnam_, chapter 1.