Skip to content

Commit

Permalink
ACPI / EC: Call acpi_walk_dep_device_list() after installing EC opreg…
Browse files Browse the repository at this point in the history
…ion handler

On some machines(E,G Mircosoft surface 3), ACPI battery depends on
the EC operation region and it has _DEP method which contains EC.
Current code doesn't support such devices whose dep_unmet will be
not be decreased after EC opregion handler being installed. This
blocks battery device to be attached with its driver. This patch
is to fix the issue.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=90161
Reported-and-tested-by: Lompik <lompik@voila.fr>
Tested-by: Valentin Lab <valentin.lab_bugzilla.kernel.org@kalysto.org>
Signed-off-by: Lan Tianyu <tianyu.lan@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  • Loading branch information
Lan Tianyu authored and Rafael J. Wysocki committed Apr 2, 2015
1 parent 770970f commit 1c832b3
Showing 1 changed file with 3 additions and 0 deletions.
3 changes: 3 additions & 0 deletions drivers/acpi/ec.c
Original file line number Diff line number Diff line change
Expand Up @@ -1147,6 +1147,9 @@ static int acpi_ec_add(struct acpi_device *device)

ret = ec_install_handlers(ec);

/* Reprobe devices depending on the EC */
acpi_walk_dep_device_list(ec->handle);

/* EC is fully operational, allow queries */
clear_bit(EC_FLAGS_QUERY_PENDING, &ec->flags);

Expand Down

0 comments on commit 1c832b3

Please sign in to comment.