[PATCH] ACPI / scan: Clear match_driver flag in acpi_bus_trim()

From: Rafael J. Wysocki
Date: Sun Jan 26 2014 - 19:01:59 EST


From: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>

Drivers should not bind to struct acpi_device objects that
acpi_bus_trim() has been called for, so make that function
clear flags.match_driver for those objects.

If that is not done, an ACPI driver may theoretically try to operate
a device that is not physically present.

Fixes: 202317a573b2 (ACPI / scan: Add acpi_device objects for all device nodes in the namespace)
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
---
drivers/acpi/scan.c | 1 +
1 file changed, 1 insertion(+)

Index: linux-pm/drivers/acpi/scan.c
===================================================================
--- linux-pm.orig/drivers/acpi/scan.c
+++ linux-pm/drivers/acpi/scan.c
@@ -2106,6 +2106,7 @@ void acpi_bus_trim(struct acpi_device *a
list_for_each_entry_reverse(child, &adev->children, node)
acpi_bus_trim(child);

+ adev->flags.match_driver = false;
if (handler) {
if (handler->detach)
handler->detach(adev);

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/