aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/acpi/ec.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/acpi/ec.c b/drivers/acpi/ec.c
index 30f3ef236ecb..2cbc2c9c07ac 100644
--- a/drivers/acpi/ec.c
+++ b/drivers/acpi/ec.c
@@ -756,10 +756,15 @@ static acpi_status
756acpi_ec_register_query_methods(acpi_handle handle, u32 level, 756acpi_ec_register_query_methods(acpi_handle handle, u32 level,
757 void *context, void **return_value) 757 void *context, void **return_value)
758{ 758{
759 struct acpi_namespace_node *node = handle; 759 char node_name[5];
760 struct acpi_buffer buffer = { sizeof(node_name), node_name };
760 struct acpi_ec *ec = context; 761 struct acpi_ec *ec = context;
761 int value = 0; 762 int value = 0;
762 if (sscanf(node->name.ascii, "_Q%x", &value) == 1) { 763 acpi_status status;
764
765 status = acpi_get_name(handle, ACPI_SINGLE_NAME, &buffer);
766
767 if (ACPI_SUCCESS(status) && sscanf(node_name, "_Q%x", &value) == 1) {
763 acpi_ec_add_query_handler(ec, value, handle, NULL, NULL); 768 acpi_ec_add_query_handler(ec, value, handle, NULL, NULL);
764 } 769 }
765 return AE_OK; 770 return AE_OK;