diff options
Diffstat (limited to 'events/evxfgpe.c')
-rw-r--r-- | events/evxfgpe.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/events/evxfgpe.c b/events/evxfgpe.c index 009271053cf0..76019969ec8c 100644 --- a/events/evxfgpe.c +++ b/events/evxfgpe.c @@ -314,9 +314,19 @@ AcpiSetupGpeForWake ( return_ACPI_STATUS (AE_BAD_PARAMETER); } + /* Handle root object case */ + + if (WakeDevice == ACPI_ROOT_OBJECT) + { + DeviceNode = AcpiGbl_RootNode; + } + else + { + DeviceNode = ACPI_CAST_PTR (ACPI_NAMESPACE_NODE, WakeDevice); + } + /* Validate WakeDevice is of type Device */ - DeviceNode = ACPI_CAST_PTR (ACPI_NAMESPACE_NODE, WakeDevice); if (DeviceNode->Type != ACPI_TYPE_DEVICE) { return_ACPI_STATUS (AE_BAD_PARAMETER); |