On Tue, Apr 26, 2022 at 12:18:24PM +0200, Andy Shevchenko wrote: > On Mon, Apr 25, 2022 at 3:41 PM Heikki Krogerus > <heikki.krogerus@xxxxxxxxxxxxxxx> wrote: > > > > The controller device (hcd) does not always have the ACPI > > companion assigned to it at all. We can not rely on it when > > finding the ACPI companion for the root hub. Instead we need > > to use the sysdev pointer here. > > ... > > > if (!udev->parent) { > > /* root hub is only child (_ADR=0) under its parent, the HC */ > > I believe the comment can be amended now to point out that we use the > physical device representing the parent of this child, and not > (always) a direct parent of the device in terms of Linux device model. Okay, I'll try to improve the comment. > > - adev = ACPI_COMPANION(udev->dev.parent); > > + adev = ACPI_COMPANION(udev->bus->sysdev); > > return acpi_find_child_device(adev, 0, false); > > } thanks, -- heikki