On Thu, 2008-11-13 at 01:02 +0800, Moore, Robert wrote: > I'm beginning to think that the complete version of this support will include support for BOTH global locks, in both FACS tables. We don't know how to determine which one is the real one. > well, yes, we can't fix this bug until we know which FACS to use. another proposal is to use RSDT instead of XSDT if multiple valid FACS tables exist. Just like the way we handle the "32bit/64bit GPE address not match" problem. thanks, rui > >-----Original Message----- > >From: Zhang, Rui > >Sent: Wednesday, November 12, 2008 12:29 AM > >To: Len Brown > >Cc: linux-acpi; Zhang, Rui; Moore, Robert; Rafael J. Wysocki > >Subject: [RESEND] [RFC PATCH 6/6] ACPI: set waking vectors in all FACS > >tables > > > > > >Set the waking vectors in all FACS tables > >in acpi_gbl_root_table_list. > > > >Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx> > >--- > > drivers/acpi/hardware/hwsleep.c | 10 ++++++++++ > > 1 file changed, 10 insertions(+) > > > >Index: linux-2.6/drivers/acpi/hardware/hwsleep.c > >=================================================================== > >--- linux-2.6.orig/drivers/acpi/hardware/hwsleep.c 2008-11-13 > >04:29:35.000000000 +0800 > >+++ linux-2.6/drivers/acpi/hardware/hwsleep.c 2008-11-13 > >04:29:43.000000000 +0800 > >@@ -90,6 +90,16 @@ > > > > facs->firmware_waking_vector = (u32)physical_address; > > > >+ status = acpi_get_table(ACPI_SIG_FACS, 2, > >+ ACPI_CAST_INDIRECT_PTR(struct acpi_table_header, &facs)); > >+ if (ACPI_FAILURE(status)) > >+ return_ACPI_STATUS(AE_OK); > >+ > >+ if (facs->version >= 1) > >+ facs->xfirmware_waking_vector = 0; > >+ > >+ facs->firmware_waking_vector = (u32)physical_address; > >+ > > return_ACPI_STATUS(AE_OK); > > } > > > > > -- 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