Re: 2.6.16-rc5: known regressions

Sanjoy Mahajan
2006-03-03T02:59:22Z

>> Subject : S3 sleep hangs the second time - 600X
>> References : http://bugzilla.kernel.org/show_bug.cgi?id=5989

From: "Yu, Luming" <luming.yu@intel.com>
> According to bug report, the BIOS DSDT is modified. I don't know
> how these changes affect the results of suspend/resume. But, it is
> clear this is NOT right approach to fix problem. Hence, I need the
> testing report with un-modified DSDT on TP 600X, bios 1.11.

I'll try it, although I don't think I'll get any data on the problem.
The unmodified DSDT (bios 1.11) lacks an S3 sleep object, so I had to
modify the DSDT even to get S3 to sleep at all. See
<http://bugzilla.kernel.org/show_bug.cgi?id=3534> for that discussion.
In additional comment #4 there (2004-10-14), you said:

The root cause of [the missing S3 object] failure is that linux is
using element in

const char *acpi_gbl_sleep_state_names[ACPI_S_STATE_COUNT] =
{
"\_S0_",
"\_S1_",
"\_S2_",
"\_S3_",
"\_S4_",
"\_S5_"
};

to call acpi_get_sleep_type_data, but your box define _S3 under the
device PNP0A03. So, the evaluating \_S3 will fail.

The workaround in DSDT is to change _S3 to \_S3_ .
We can fix it in acpi driver soon.

It looks unchanged in a recent acpi driver
(drivers/acpi/utilities/utglobal.c, line 170, 2.6.16-rc2), so I
suspect S3 won't happen with the vanilla DSDT.

(Sorry, I was away for 10 days and also just saw your info requests in
the bugme #5989.)

-Sanjoy

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