When an ACPI node has both ACPI device nodes and ACPI data nodes, acpi_get_next_subnode will return the ACPI data nodes of its last parsed child.
Make sure that the acpi device that is parsed is the original acpi node and not any of its children. Signed-off-by: Irina Tirdea <[email protected]> --- drivers/acpi/property.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/acpi/property.c b/drivers/acpi/property.c index 2aee416..f2fd3fe 100644 --- a/drivers/acpi/property.c +++ b/drivers/acpi/property.c @@ -816,6 +816,7 @@ struct fwnode_handle *acpi_get_next_subnode(struct device *dev, next = adev->node.next; if (next == head) { child = NULL; + adev = ACPI_COMPANION(dev); goto nondev; } adev = list_entry(next, struct acpi_device, node); -- 1.9.1

