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

Yu, Luming
2006-03-22T01:30:14Z

>Two more experiments:
>
> With a vanilla kernel, I faked EC0.UPDT() to just return
>0x00, and the
> system hung on the second sleep.
>
> Then, again in the DSDT, I also faked the 4 _TMP methods (one in each
> thermal zone), and the system hung on the second sleep.
>
>I think we've raced too far ahead by trying to debug many thermal zones
>at once. Perhaps there are two bugs. So let's find them one by one.

Hmm, you seems to prefer depth-first search algorithm?
I like it too. :-)

>
>One bug is quite repeatable and we know a lot about it. With all zones
>except THM0 commented out, the system hung. With the EC0.UPDT line in
>THM0._TMP also commented out, the system didn't hang. So there's a
>problem related to the EC, even with only THM0. And finding that
>problem may giveideas for what else may be wrong.

We can do bisection in EC0.UPDT to find out which statement cause hang?
Hmm, we are going to fix BIOS. :-)

My assumption is that since Windows works well, then these BIOS code
should have been tested ok. The only possible excuse for BIOS is that
Linux is using unnecessary/untested code path for Suspend/resume.
So, Eventually, we need to disable unnecessary BIOS call for
suspend/resume

Thanks,
Luming