diff options
author | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2013-02-09 14:29:11 (GMT) |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2013-02-13 12:46:31 (GMT) |
commit | f058cdf4cf3e5181172455f90fc73f2127b6ddf8 (patch) | |
tree | b67dcec5a9e7d0d4e6cd65033c8f5fb19616e5e2 /lib/klist.c | |
parent | 87d4a4da7353c8582049dab50b880798d88ff9d7 (diff) | |
download | linux-fsl-qoriq-f058cdf4cf3e5181172455f90fc73f2127b6ddf8.tar.xz |
ACPI / scan: Make acpi_bus_hot_remove_device() acquire the scan lock
The ACPI scan lock has been introduced to prevent acpi_bus_scan()
and acpi_bus_trim() from running in parallel with each other for
overlapping ACPI namespace scopes. However, it is not sufficient
to do that, because if acpi_bus_scan() is run (for an overlapping
namespace scope) right after the acpi_bus_trim() in
acpi_bus_hot_remove_device(), the subsequent eject will remove
devices without removing the corresponding struct acpi_device
objects (and possibly companion "physical" device objects).
Therefore acpi_bus_hot_remove_device() has to acquire the scan
lock before carrying out the bus trimming and hold it through
the evaluation of _EJ0, so make that happen.
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Toshi Kani <toshi.kani@hp.com>
Diffstat (limited to 'lib/klist.c')
0 files changed, 0 insertions, 0 deletions