On Monday, September 22, 2014 10:45:42 PM Fu, Zhonghui wrote: > [cut] > >>> > >>> This operation is reading data from Operation Region of one operand object in name space. I don't know the reason of hang at this point. Could you please give out some explanation about this? > >> I don't know the exact reason why this particular read hangs, but this means > >> that, perhaps, instead of disabling async suspend/resume for all LPSS devices > >> altogether, perhaps we can serialize their acpi_dev_resume_early()? > >> > >> Rafael > > Do you mean keeping other phases(prepare, suspend, suspend_late, suspend_noirq, resume_noirq, resume, complete) of suspend/resume asynchronous, and only serializing "resume_early" phase for all LPSS devices? > > > > Thanks, > > Zhonghui > Hi, Rafael > > Could you please confirm my understanding? This is not what I meant. Since we have a PM domain for the LPSS devices already, why don't we add an internal lock to that PM domain and acquire it over executing either acpi_dev_suspend_late() (during suspend) or acpi_dev_resume_early() (during resume) for all of them? -- I speak only for myself. Rafael J. Wysocki, Intel Open Source Technology Center. -- 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