alistair23-linux/drivers/acpi
Rafael J. Wysocki f058cdf4cf 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>
2013-02-13 13:46:31 +01:00
..
acpica ACPICA: Cleanup table handler naming conflicts. 2013-01-11 13:10:16 +01:00
apei ACPI, APEI: Fixup incorrect 64-bit access width firmware bug 2013-01-19 01:34:43 +01:00
ac.c ACPI: Remove useless type argument of driver .remove() operation 2013-01-26 00:37:24 +01:00
acpi_i2c.c i2c / ACPI: add ACPI enumeration support 2012-11-23 12:23:40 +01:00
acpi_ipmi.c
acpi_memhotplug.c ACPI: Remove useless type argument of driver .remove() operation 2013-01-26 00:37:24 +01:00
acpi_pad.c ACPI: Remove useless type argument of driver .remove() operation 2013-01-26 00:37:24 +01:00
acpi_platform.c ACPI / platform: Use struct acpi_scan_handler for creating devices 2013-01-30 14:27:40 +01:00
battery.c ACPI: Remove useless type argument of driver .remove() operation 2013-01-26 00:37:24 +01:00
bgrt.c efi: Fix the ACPI BGRT driver for images located in EFI boot services memory 2012-09-29 12:21:03 -07:00
blacklist.c
bus.c ACPI / PM: Move device power management functions to device_pm.c 2013-01-19 22:09:22 +01:00
button.c ACPI: Remove useless type argument of driver .remove() operation 2013-01-26 00:37:24 +01:00
cm_sbs.c
container.c ACPI: Drop the container.h header file 2013-02-13 13:43:02 +01:00
csrt.c ACPI: add support for CSRT table 2013-01-19 22:16:21 +01:00
custom_method.c
debugfs.c
device_pm.c Merge branch 'acpi-scan' into acpi-cleanup 2013-01-26 00:36:44 +01:00
dock.c ACPI / dock: Fix acpi_bus_get_device() check in drivers/acpi/dock.c 2013-02-02 20:10:23 +01:00
ec.c ACPI: Remove useless type argument of driver .remove() operation 2013-01-26 00:37:24 +01:00
ec_sys.c
event.c
fan.c ACPI: Remove useless type argument of driver .remove() operation 2013-01-26 00:37:24 +01:00
glue.c Merge branch 'acpi-scan' into acpi-cleanup 2013-01-26 00:36:44 +01:00
hed.c ACPI: Remove useless type argument of driver .remove() operation 2013-01-26 00:37:24 +01:00
internal.h ACPI / scan: Make container driver use struct acpi_scan_handler 2013-02-13 13:43:01 +01:00
Kconfig ACPI / scan: Make container driver use struct acpi_scan_handler 2013-02-13 13:43:01 +01:00
Makefile ACPI: add support for CSRT table 2013-01-19 22:16:21 +01:00
numa.c ACPICA: Cleanup table handler naming conflicts. 2013-01-11 13:10:16 +01:00
nvs.c
osl.c Merge branch 'x86-acpi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2012-12-14 10:03:23 -08:00
pci_irq.c PCI changes for the v3.8 merge window: 2012-12-13 12:14:47 -08:00
pci_link.c ACPI / PCI: Make PCI IRQ link driver use struct acpi_scan_handler 2013-01-30 14:27:37 +01:00
pci_root.c ACPI / PCI: Make PCI root driver use struct acpi_scan_handler 2013-01-30 14:27:33 +01:00
pci_slot.c ACPI / PCI: pci_slot: replace printk(KERN_xxx) with pr_xxx() 2013-02-13 13:41:38 +01:00
power.c ACPI / PM: Fix consistency check for power resources during resume 2013-01-25 21:51:57 +01:00
proc.c ACPI / PM: Fix /proc/acpi/wakeup for devices w/o bus or parent 2013-01-27 21:40:11 +01:00
processor_core.c cpufreq / ACPI: Fix not loading acpi-cpufreq driver regression 2012-07-12 22:39:32 +02:00
processor_driver.c ACPI: Remove useless type argument of driver .remove() operation 2013-01-26 00:37:24 +01:00
processor_idle.c Merge branch 'acpi-lpss' into acpi-cleanup 2013-01-29 13:59:00 +01:00
processor_perflib.c ACPI: Check MSR valid bit before using P-state frequencies 2013-01-22 13:37:21 +01:00
processor_thermal.c
processor_throttling.c
reboot.c
resource.c ACPI: remove unnecessary INIT_LIST_HEAD 2012-11-27 13:49:36 +01:00
sbs.c ACPI: Remove useless type argument of driver .remove() operation 2013-01-26 00:37:24 +01:00
sbshc.c ACPI: Remove useless type argument of driver .remove() operation 2013-01-26 00:37:24 +01:00
sbshc.h
scan.c ACPI / scan: Make acpi_bus_hot_remove_device() acquire the scan lock 2013-02-13 13:46:31 +01:00
sleep.c ACPI / PM: Consolidate suspend-specific and hibernate-specific code 2013-01-19 22:09:23 +01:00
sleep.h ACPI: Drop power resources driver 2013-01-17 14:11:06 +01:00
sysfs.c ACPICA: Fix AcpiSrc caused divergences. 2012-11-15 00:31:23 +01:00
tables.c ACPICA: Cleanup table handler naming conflicts. 2013-01-11 13:10:16 +01:00
thermal.c ACPI: Remove useless type argument of driver .remove() operation 2013-01-26 00:37:24 +01:00
utils.c ACPI: Add acpi_handle_<level>() interfaces 2012-11-21 23:20:22 +01:00
video.c ACPI: Remove useless type argument of driver .remove() operation 2013-01-26 00:37:24 +01:00
video_detect.c ACPI / video: Add "Asus UL30VT" to ACPI video detect blacklist 2012-11-30 13:02:50 +01:00
wakeup.c