On Tue, Oct 23, 2012 at 6:10 AM, Tang Chen <tangc...@cn.fujitsu.com> wrote:
> As the comments in __acpi_os_execute() said:
>
>         We can't run hotplug code in keventd_wq/kacpid_wq/kacpid_notify_wq
>         because the hotplug code may call driver .remove() functions,
>         which invoke flush_scheduled_work/acpi_os_wait_events_complete
>         to flush these workqueues.
>
> we should keep the hotplug code in kacpi_hotplug_wq.
>
> But we have the following call series in kernel now:
>         acpi_ev_queue_notify_request()
>         |--> acpi_os_execute()
>              |--> __acpi_os_execute(type, function, context, 0)
>
> The last parameter 0 makes the container_notify_cb() executed in
> kacpi_notify_wq or kacpid_wq. So, we need to put the real hotplug code
> into kacpi_hotplug_wq.

I had other patches that merge acpi_hp_work in acpiphp and pci_root_hp.

I just put them in to for-pci-split-pci-root-hp-2.

can you check them to see if you can use it?

Thanks

Yinghai
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to