ACPICA: Fixed a problem with AcpiGetDevices where the search of a branch of the device tree could be terminated prematurely
In accordance with the ACPI specification, the search is terminated if a device is both not present and not functional (instead of just not present.) Yakui Zhao. Signed-off-by: Bob Moore <robert.moore@intel.com> Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de> Signed-off-by: Len Brown <len.brown@intel.com>
This commit is contained in:
parent
8a2e71a823
commit
549f46044e
1 changed files with 8 additions and 5 deletions
|
@ -467,10 +467,13 @@ acpi_ns_get_device_callback(acpi_handle obj_handle,
|
||||||
return (AE_CTRL_DEPTH);
|
return (AE_CTRL_DEPTH);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(flags & ACPI_STA_DEVICE_PRESENT)) {
|
if (!(flags & ACPI_STA_DEVICE_PRESENT) &&
|
||||||
|
!(flags & ACPI_STA_DEVICE_FUNCTIONING)) {
|
||||||
/* Don't examine children of the device if not present */
|
/*
|
||||||
|
* Don't examine the children of the device only when the
|
||||||
|
* device is neither present nor functional. See ACPI spec,
|
||||||
|
* description of _STA for more information.
|
||||||
|
*/
|
||||||
return (AE_CTRL_DEPTH);
|
return (AE_CTRL_DEPTH);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -539,7 +542,7 @@ acpi_ns_get_device_callback(acpi_handle obj_handle,
|
||||||
* value is returned to the caller.
|
* value is returned to the caller.
|
||||||
*
|
*
|
||||||
* This is a wrapper for walk_namespace, but the callback performs
|
* This is a wrapper for walk_namespace, but the callback performs
|
||||||
* additional filtering. Please see acpi_get_device_callback.
|
* additional filtering. Please see acpi_ns_get_device_callback.
|
||||||
*
|
*
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
|
|
Reference in a new issue