From: Rafael J. Wysocki Date: Mon, 27 Jan 2014 22:08:09 +0000 (+0100) Subject: ACPI / scan: Clear match_driver flag in acpi_bus_trim() X-Git-Tag: v3.14-rc1~21^2~1^3 X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=commitdiff_plain;h=a951c773bc39677ef3fa42814be7f5218a3100b2;p=linux.git ACPI / scan: Clear match_driver flag in acpi_bus_trim() 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 Acked-by: Toshi Kani --- diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c index c0f57ff15024..089dc403c43b 100644 --- a/drivers/acpi/scan.c +++ b/drivers/acpi/scan.c @@ -2044,6 +2044,7 @@ void acpi_bus_trim(struct acpi_device *adev) 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);