lkml.org 
[lkml]   [2014]   [Jan]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH] ACPI / scan: Clear match_driver flag in acpi_bus_trim()
Date
From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

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@intel.com>
---
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);


\
 
 \ /
  Last update: 2014-01-27 01:21    [W:0.031 / U:3.184 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site