diff options
author | Alexey Starikovskiy <astarikovskiy@suse.de> | 2008-02-14 15:58:47 -0500 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2008-02-14 15:58:47 -0500 |
commit | 208c70a45624400fafd7511b96bc426bf01f8f5e (patch) | |
tree | 9c6bd65564e8a70620533339fd18bd696d7ff822 /drivers/acpi/ec.c | |
parent | e760e716d47b48caf98da348368fd41b4a9b9e7e (diff) |
ACPI: EC: Use proper handle for boot EC
Fall back to ACPI_ROOT_HANDLE only in case of error.
ACPI: EC: EC description table is found, configuring boot EC
ACPI Error (evregion-0316): No handler for Region [ECOR] (ffff81007a651620) [EmbeddedControl] [20070126]
ACPI Error (exfldio-0289): Region EmbeddedControl(3) has no handler [20070126]
http://bugzilla.kernel.org/show_bug.cgi?id=9916
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi/ec.c')
-rw-r--r-- | drivers/acpi/ec.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/acpi/ec.c b/drivers/acpi/ec.c index 7222a18a031..caf873c14bf 100644 --- a/drivers/acpi/ec.c +++ b/drivers/acpi/ec.c | |||
@@ -943,7 +943,11 @@ int __init acpi_ec_ecdt_probe(void) | |||
943 | boot_ec->command_addr = ecdt_ptr->control.address; | 943 | boot_ec->command_addr = ecdt_ptr->control.address; |
944 | boot_ec->data_addr = ecdt_ptr->data.address; | 944 | boot_ec->data_addr = ecdt_ptr->data.address; |
945 | boot_ec->gpe = ecdt_ptr->gpe; | 945 | boot_ec->gpe = ecdt_ptr->gpe; |
946 | boot_ec->handle = ACPI_ROOT_OBJECT; | 946 | if (ACPI_FAILURE(acpi_get_handle(NULL, ecdt_ptr->id, |
947 | &boot_ec->handle))) { | ||
948 | pr_info("Failed to locate handle for boot EC\n"); | ||
949 | boot_ec->handle = ACPI_ROOT_OBJECT; | ||
950 | } | ||
947 | } else { | 951 | } else { |
948 | /* This workaround is needed only on some broken machines, | 952 | /* This workaround is needed only on some broken machines, |
949 | * which require early EC, but fail to provide ECDT */ | 953 | * which require early EC, but fail to provide ECDT */ |