2006-03-16 08:19:35

by Luming Yu

[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.

Yes, just return , and DONT do anything could impact to platform.

>
>Do I need to hack acpi_thermal_passive() as well?

Yes.

Please also make sure you have vanilla DSDT, vanilla Kernel, and just
hacked
acpi_thermal_active/passive.

I'm waiting for your good news.
If it is the root cause, probably you need to come up with a real patch.
:-)


Thanks,
Luming


2006-03-16 15:15:16

by Sanjoy Mahajan

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

Bad news. It hangs when I do the usual stress test:

echo 1 > THM0/polling_frequency
sleep.sh
sleep.sh

The second sleep.sh hangs going to sleep. It is in an endless loop
printing the following line, once per second (from the
polling_frequency):

Execute Method: [\_TZ_.THM0._TMP] (Node c157bf88)

> Please also make sure you have vanilla DSDT

$ grep DSDT /boot/config-2.6.16-rc5.fake-thermal_active+passive
# CONFIG_ACPI_CUSTOM_DSDT is not set

> vanilla Kernel, and just hacked acpi_thermal_active/passive.

Only diff between pristine 2.6.16-rc5 tree and mine is:

diff -rup /tmp/linux-2.6.16-rc5/drivers/acpi/thermal.c /usr/src/linux-2.6.16-rc5/drivers/acpi/thermal.c
--- /tmp/linux-2.6.16-rc5/drivers/acpi/thermal.c 2006-02-27 00:09:35.000000000 -0500
+++ /usr/src/linux-2.6.16-rc5/drivers/acpi/thermal.c 2006-03-16 09:45:30.000000000 -0500
@@ -526,6 +526,8 @@ static void acpi_thermal_passive(struct

ACPI_FUNCTION_TRACE("acpi_thermal_passive");

+ return;
+
if (!tz || !tz->trips.passive.flags.valid)
return;

@@ -615,6 +617,8 @@ static void acpi_thermal_active(struct a

ACPI_FUNCTION_TRACE("acpi_thermal_active");

+ return;
+
if (!tz)
return;


-Sanjoy

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