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

Yu, Luming
2006-03-18T15:10:39Z

>> Hmm, probably, you need to do :
>>
>> 4. in acpi_thermal_notify,
>> if (acpi_in_suspend == YES)
>> do nothing.
>
>I've just tested that. It suspended twice without problem, which made
>me think the problem was solved. But it hung on the third suspend!

I'm NOT surprised about that hung, because kernel thread kacpid
is a kernel worker thread that has flag PF_NOFREEZE, that means
kacpid won't be freezed. I tried to freeze kacpid, but end up with
this conclusion. From my understanding, for safety concern,
kernel worker thread should be freezed. Because, kacpid could
invoke AML methods that we are trying to avoid during suspend.

Please try additional ugly hack
5. in acpi_os_queue_for_execution:
if(acpi_in_suspend == YES)
do nothing.

Also, please add acpi_debug_layer=0x10 acpi_debug_leve=0x10
boot option, then you can observe what methods were executed
before suspend.

Thanks,
Luming