Re: [PATCH 5.8+ regression fix] i2c: core: Restore acpi_walk_dep_device_list() getting called after registering the ACPI i2c devs

Wolfram Sang
2020-10-25T12:21:55Z

[-- Attachment #1: Type: text/plain, Size: 1246 bytes --]

On Wed, Oct 14, 2020 at 04:41:58PM +0200, Hans de Goede wrote:
> Commit 21653a4181ff ("i2c: core: Call i2c_acpi_install_space_handler()
> before i2c_acpi_register_devices()")'s intention was to only move the
> acpi_install_address_space_handler() call to the point before where
> the ACPI declared i2c-children of the adapter where instantiated by
> i2c_acpi_register_devices().
>
> But i2c_acpi_install_space_handler() had a call to
> acpi_walk_dep_device_list() hidden (that is I missed it) at the end
> of it, so as an unwanted side-effect now acpi_walk_dep_device_list()
> was also being called before i2c_acpi_register_devices().
>
> Move the acpi_walk_dep_device_list() call to the end of
> i2c_acpi_register_devices(), so that it is once again called *after*
> the i2c_client-s hanging of the adapter have been created.
>
> This fixes the Microsoft Surface Go 2 hanging at boot.
>
> Fixes: 21653a4181ff ("i2c: core: Call i2c_acpi_install_space_handler() before i2c_acpi_register_devices()")
> Suggested-by: Maximilian Luz <luzmaximilian@gmail.com>
> Reported-and-tested-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>

Applied to for-current, thanks!

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]