On Mon, Mar 04, 2024 at 01:03:55PM +1300, Hamish Martin wrote:
There is an issue with ACPI overlay table removal specifically related to I2C multiplexers.
Consider an ACPI SSDT Overlay that defines a PCA9548 I2C mux on an existing I2C bus. When this table is loaded we see the creation of a device for the overall PCA9548 chip and 8 further devices - one i2c_adapter each for the mux channels. These are all bound to their ACPI equivalents via an eventual invocation of acpi_bind_one().
When we unload the SSDT overlay we run into the problem. The ACPI devices are deleted as normal via acpi_device_del_work_fn() and the acpi_device_del_list.
However, the following warning and stack trace is output as the deletion does not go smoothly:
Applied to for-current, thanks!