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? > Kernel should checks all children's > offline state as the logic in acpi_container_offline(). > > Cc: "Rafael J. Wysocki" <rjw@xxxxxxxxxxxxx> > Cc: Len Brown <lenb@xxxxxxxxxx> > Cc: Michal Hocko <mhocko@xxxxxxxx> > Cc: Jiri Kosina <jkosina@xxxxxxx> > Signed-off-by: "Lee, Chun-Yi" <jlee@xxxxxxxx> > --- > drivers/acpi/scan.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c > index 1926918..f08ca31 100644 > --- a/drivers/acpi/scan.c > +++ b/drivers/acpi/scan.c > @@ -260,13 +260,15 @@ static int acpi_scan_try_to_offline(struct acpi_device *device) > static int acpi_scan_hot_remove(struct acpi_device *device) > { > acpi_handle handle = device->handle; > + struct acpi_device *child; > unsigned long long sta; > acpi_status status; > > if (device->handler && device->handler->hotplug.demand_offline > && !acpi_force_hot_remove) { > - if (!acpi_scan_is_offline(device, true)) > - return -EBUSY; > + list_for_each_entry(child, &device->children, node) > + if (!acpi_scan_is_offline(child, false)) > + return -EBUSY; > } else { > int error = acpi_scan_try_to_offline(device); > if (error) > -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html