> >>> Subject : S3 sleep hangs the second time - 600X >>> References : http://bugzilla.kernel.org/show_bug.cgi?id=5989 > >From: "Yu, Luming" <luming.yu@xxxxxxxxx> >> 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. Hmm, this conclusion seems to be wrong. at that time, I said it too early. The real problem is this, if your box support S3, the _S3 method should return from ELSE-statement which return package {0x01,0x01,0x00,0x00}. If you still use this http://bugzilla.kernel.org/show_bug.cgi?id=3534#c10 to override your DSDT, which bypass the testing and blindly assume BIOS or platform do support S3, then I suggest you to retest, and post dmesg with UN-modified BIOS. Thanks, Luming Method (_S3, 0, NotSerialized) { If (BXPT) { Return (Package (0x04) { 0x06, 0x06, 0x00, 0x00 }) } Else { Return (Package (0x04) { 0x01, 0x01, 0x00, 0x00 }) } } - : send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html