ACPI / hotplug: Fix conflicted PCI bridge notify handlers
authorToshi Kani <toshi.kani@hp.com>
Wed, 20 Nov 2013 13:25:34 +0000 (14:25 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 4 Dec 2013 18:57:04 +0000 (10:57 -0800)
commit1ba9563629aced9bd4471cd088fbffe11910e6f2
treeba1a7a19b8b4ef705922e1b617468fb6af8b9e47
parentcad6526a7a12079819b73c63cefdff076858830e
ACPI / hotplug: Fix conflicted PCI bridge notify handlers

commit ca499fc87ed945094d952da0eb7eea7dbeb1feec upstream.

The PCI host bridge scan handler installs its own notify handler,
handle_hotplug_event_root(), by itself.  Nevertheless, the ACPI
hotplug framework also installs the common notify handler,
acpi_hotplug_notify_cb(), for PCI root bridges.  This causes
acpi_hotplug_notify_cb() to call _OST method with unsupported
error as hotplug.enabled is not set.

To address this issue, introduce hotplug.ignore flag, which
indicates that the scan handler installs its own notify handler by
itself.  The ACPI hotplug framework does not install the common
notify handler when this flag is set.

Signed-off-by: Toshi Kani <toshi.kani@hp.com>
[rjw: Changed the name of the new flag]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/acpi/pci_root.c
drivers/acpi/scan.c
include/acpi/acpi_bus.h