Re: [PATCH] acpi: check the online state of all children in container

From: joeyli
Date: Tue Mar 21 2017 - 23:22:52 EST


On Wed, Mar 22, 2017 at 01:58:30AM +0100, Rafael J. Wysocki wrote:
> On Wednesday, March 22, 2017 09:01:48 AM Lee, Chun-Yi wrote:
> > Just checking the state of container is not enough to confirm that
> > the whole container is offlined.
>
> And why is that so?
>

Actually there does not have real kernel issue triggered by this code now.
I reviewed code and found the difference between acpi_container_offline().

Considering a container that it includes devices and sub-containers
like this:

Scope (_SB)
Device (MODU)
Name (_HID, "ACPI0004") <=== main-container
Device (PCIE)
Name (_HID, EisaId ("PNP0A08"))
Device (SUBM)
Name (_HID, "ACPI0004") <=== sub-container
Device (MEM0)
Name (_HID, EisaId ("PNP0C80"))
...

The original code checks the physical nodes on the main container but
doesn't check children's physical nodes. So, it may happen the sub-container
didn't offline but the offline checking of main container is pass.

Please kindly direct me if I misunderstood or missed any detail in the codes
about physcial node and container offline.

Thank a lot!
Joey Lee