On Thu, 2008-11-13 at 10:24 +0800, Matthew Garrett wrote: > 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. > do you mean always using FADT1.facs and ignore the FADT.Xfacs in Linux? thanks, rui -- 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