|
@@ -943,7 +943,11 @@ int __init acpi_ec_ecdt_probe(void)
|
|
|
boot_ec->command_addr = ecdt_ptr->control.address;
|
|
|
boot_ec->data_addr = ecdt_ptr->data.address;
|
|
|
boot_ec->gpe = ecdt_ptr->gpe;
|
|
|
- boot_ec->handle = ACPI_ROOT_OBJECT;
|
|
|
+ if (ACPI_FAILURE(acpi_get_handle(NULL, ecdt_ptr->id,
|
|
|
+ &boot_ec->handle))) {
|
|
|
+ pr_info("Failed to locate handle for boot EC\n");
|
|
|
+ boot_ec->handle = ACPI_ROOT_OBJECT;
|
|
|
+ }
|
|
|
} else {
|
|
|
/* This workaround is needed only on some broken machines,
|
|
|
* which require early EC, but fail to provide ECDT */
|