linux/drivers/acpi
Rafael J. Wysocki 7bed50c5ed ACPI / PM: Avoid infinite recurrence while registering power resources
There is at least one BIOS with a DSDT containing a power resource
object with a _PR0 entry pointing back to that power resource.  In
consequence, while registering that power resource
acpi_bus_get_power_flags() sees that it depends on itself and tries
to register it again, which leads to an infinitely deep recurrence.
This problem was introduced by commit bf325f9538
(ACPI / PM: Register power resource devices as soon as they are
needed).

To fix this problem use the observation that power resources cannot
be power manageable and prevent acpi_bus_get_power_flags() from
being called for power resource objects.

References: https://bugzilla.kernel.org/show_bug.cgi?id=31872
Reported-and-tested-by: Pascal Dormeau <pdormeau@free.fr>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Acked-by: Len Brown <lenb@kernel.org>
Cc: stable@kernel.org
2011-04-26 11:33:18 +02:00
..
acpica
apei
ac.c
acpi_ipmi.c
acpi_memhotplug.c
acpi_pad.c
atomicio.c
battery.c
blacklist.c
bus.c
button.c
cm_sbs.c
container.c
debugfs.c
dock.c
ec_sys.c
ec.c
event.c
fan.c
glue.c
hed.c
internal.h
Kconfig
Makefile
numa.c
nvs.c
osl.c
pci_bind.c
pci_irq.c
pci_link.c
pci_root.c
pci_slot.c
power_meter.c
power.c
proc.c
processor_core.c
processor_driver.c
processor_idle.c
processor_perflib.c
processor_thermal.c
processor_throttling.c
reboot.c
sbs.c
sbshc.c
sbshc.h
scan.c ACPI / PM: Avoid infinite recurrence while registering power resources 2011-04-26 11:33:18 +02:00
sleep.c
sleep.h
sysfs.c
tables.c
thermal.c
utils.c
video_detect.c
video.c
wakeup.c