On Fri, 01 Dec 2006 20:45:51 +0300 Alexey Starikovskiy <alexey.y.starikovskiy@xxxxxxxxxxxxxxx> wrote: > Linus Torvalds wrote: > > On Fri, 1 Dec 2006, Pavel Machek wrote: > > > > > >>>> So it looks like we need this sequence: > >>>> > >>>> enable_nonboot_cpus() /* INIT */ > >>>> finish() /* _WAK */ > >>>> device_resume() > >>>> > >>> Can somebody remind me about this immediately after 2.6.19? > >>> > >> Remind. But note that freezer is not yet SMP safe... Rafael is working > >> on that. > >> > > > > Thanks. > > > > On the other hand, I really wonder (and suspect) whether the problem isn't > > really the freezer or even the kernel resume ordering, but simply an ACPI > > internal resume ordering thing. > > > > Doesn't ACPI have per-device "WAK" calls anyway? Shouldn't we just call > > those _individually_ as we walk the device tree (perhaps in the > > "early_resume" stage) rather than calling them all in one chunk? > > > > Linus > > > _WAK method is system-wide. Individual objects do not have their own > resume methods. > One way of reordering internal ACPI resume is done in patch series to > 7122, I mentioned that earlier. > It's possible to resume ACPI devices after execution of _WAK in pm->finish. Does it solve the original problem where finish() was getting run after device_resume(), and finish() was corrupting PCI register settings like MSI? -- Stephen Hemminger <shemminger@xxxxxxxx> - 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