Re: 2.6.23-rc6-mm1: failure to boot on HP nx6325, no sound when booted, USB-related WARNING
"Rafael J. Wysocki" <[email protected]>
| Newsgroups | gmane.linux.kernel,gmane.linux.usb.devel |
|---|---|
| Message-ID | <[email protected]> |
On Thursday, 20 September 2007 23:35, Linus Torvalds wrote: > > On Thu, 20 Sep 2007, Thomas Gleixner wrote: > > > > In meantime I figured out what's happening. The ordering in > > hibernate_snapshot() is wrong. It does: Actually, this is incorrect. Please read my reply to Thomas, just sent. > Hmm. This is close to the ordering we have in STR too. > > I have some dim memory of there being some ACPI reason why it had to be > done that way. Yes. We're executing _INI from the CPU initialization code and that shouldn't be done after _WAK, which is called from platform_finish(). > In fact, this was done in commit e3c7db621bed4afb8e231cb005057f2feb5db557, > long ago, by Rafael: > > As indicated in a recent thread on Linux-PM, it's necessary to call > pm_ops->finish() before devce_resume(), but enable_nonboot_cpus() has to be > called before pm_ops->finish() (cf. > http://lists.osdl.org/pipermail/linux-pm/2006-November/004164.html). For > consistency, it seems reasonable to call disable_nonboot_cpus() after > device_suspend(). > > This way the suspend code will remain symmetrical with respect to the resume > code and it may allow us to speed up things in the future by suspending and > resuming devices and/or saving the suspend image in many threads. > > The following series of patches reorders the suspend and resume code so that > nonboot CPUs are disabled after devices have been suspended and enabled before > the devices are resumed. It also causes pm_ops->finish() to be called after > enable_nonboot_cpus() wherever necessary. > > Hmm? > > It's entirely possible that that commit was simply just buggy, and we > should indeed move the CPU down/up to be early/late - we've fixed other > ordering issues since that commit went in. But this whole area is very > murky. > > (Btw, the above commit message points to just my response with a testing > patch to the real email: the actual explanation of the INSANE ordering is > from Len Brown in > > https://lists.linux-foundation.org/pipermail/linux-pm/2006-November/004161.html > > and there Len claims that we *must* wake up CPU's early). > > I personally think that the whole ACPI ordering requirements are just > insane, but the point of this email is to point these different > requirements out, and hopefully we can get something that works for > everybody. Sure. Greetings, Rafael