aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLen Brown <len.brown@intel.com>2008-10-22 23:19:59 -0400
committerLen Brown <len.brown@intel.com>2008-10-22 23:19:59 -0400
commit63e065e5d35b7ca1ba2c71a042dfb602820409b8 (patch)
tree735775b5553729185647ada100cc39e3c3988b0c
parent2285bc3d3d6780ecb786d37ed96d014b289a2902 (diff)
parent20edd74fcf9ad02c19efba0c13670a7b6b045099 (diff)
Merge branch 'bugzilla-10237' into test
-rw-r--r--drivers/acpi/ec.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/drivers/acpi/ec.c b/drivers/acpi/ec.c
index 13593f9f219..4c004286b3d 100644
--- a/drivers/acpi/ec.c
+++ b/drivers/acpi/ec.c
@@ -862,8 +862,19 @@ static int ec_install_handlers(struct acpi_ec *ec)
&acpi_ec_space_handler,
NULL, ec);
if (ACPI_FAILURE(status)) {
- acpi_remove_gpe_handler(NULL, ec->gpe, &acpi_ec_gpe_handler);
- return -ENODEV;
+ if (status == AE_NOT_FOUND) {
+ /*
+ * Maybe OS fails in evaluating the _REG object.
+ * The AE_NOT_FOUND error will be ignored and OS
+ * continue to initialize EC.
+ */
+ printk(KERN_ERR "Fail in evaluating the _REG object"
+ " of EC device. Broken bios is suspected.\n");
+ } else {
+ acpi_remove_gpe_handler(NULL, ec->gpe,
+ &acpi_ec_gpe_handler);
+ return -ENODEV;
+ }
}
ec->handlers_installed = 1;