Commit 8832f7e4 authored by Rafael J. Wysocki's avatar Rafael J. Wysocki

ACPI / scan: Always call acpi_bus_scan() for bus check notifications

An ACPI_NOTIFY_BUS_CHECK notification means that we should scan the
entire namespace starting from the given handle even if the device
represented by that handle is present (other devices below it may
just have appeared).

For this reason, modify acpi_scan_bus_device_check() to always run
acpi_bus_scan() if the notification being handled is of type
ACPI_NOTIFY_BUS_CHECK.
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: default avatarToshi Kani <toshi.kani@hp.com>
Cc: 3.10+ <stable@vger.kernel.org>
parent 3a391a39
...@@ -352,11 +352,13 @@ static void acpi_scan_bus_device_check(acpi_handle handle, u32 ost_source) ...@@ -352,11 +352,13 @@ static void acpi_scan_bus_device_check(acpi_handle handle, u32 ost_source)
mutex_lock(&acpi_scan_lock); mutex_lock(&acpi_scan_lock);
lock_device_hotplug(); lock_device_hotplug();
if (ost_source != ACPI_NOTIFY_BUS_CHECK) {
acpi_bus_get_device(handle, &device); acpi_bus_get_device(handle, &device);
if (device) { if (device) {
dev_warn(&device->dev, "Attempt to re-insert\n"); dev_warn(&device->dev, "Attempt to re-insert\n");
goto out; goto out;
} }
}
acpi_evaluate_hotplug_ost(handle, ost_source, acpi_evaluate_hotplug_ost(handle, ost_source,
ACPI_OST_SC_INSERT_IN_PROGRESS, NULL); ACPI_OST_SC_INSERT_IN_PROGRESS, NULL);
error = acpi_bus_scan(handle); error = acpi_bus_scan(handle);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment