Messages in this thread | | | Subject | RE: 2.6.16-rc5: known regressions [TP 600X S3, vanilla DSDT] | Date | Sat, 18 Mar 2006 23:10:32 +0800 | From | "Yu, Luming" <> |
| |
>> 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 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |