On Thu, Nov 13, 2008 at 10:21:00AM +0800, Zhang Rui wrote: > I have a test box which suspends well, but always reboots instead of > resuming when pressing the power button. > I found that there are two FACS tables on this platform, > XSDT-->FADT1-->Xfacs------>FACS1 > |----->facs-----| > |->FACS2 > RSDT-->FADT2-->facs-----| > Linux uses XSDT on this platform and sets the waking vector in FACS1 > when suspending. But it seems that the BIOS only cares for the waking > vector in FACS2, thus it reboots when resuming because the waking vector > is not set at all. That makes it sound like we should be using the 32-bit value in this case as well. > My original proposal is to install both FADT1.Xfacs and FADT1.facs in to > the global table list and set the waking vectors on both of them. > now it seems that switching back to RSDT if multiple valid FACS tables > exists is also a solution for this issue. Why? If there's a FADT entry in the XSDT we might as well use it - all the machines I've checked contain valid information in the 32-bit entry of the FADT there. -- Matthew Garrett | mjg59@xxxxxxxxxxxxx -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html