Messages in this thread | | | Date | Tue, 2 Dec 2008 07:46:38 -0800 (PST) | From | Linus Torvalds <> | Subject | Re: Regression from 2.6.26: Hibernation (possibly suspend) broken on Toshiba R500 (bisected) |
| |
On Tue, 2 Dec 2008, Frans Pop wrote: > > Attached is a full diff between dmesg from -rc3 and -rc6 with your debug > patch. > > I've cleaned up the diff a bit to make it more readable (mostly removal of > changes that I always get due to random USB load order changes - UHCI > still frequently loads before EHCI). > > The most interesting points are probably at lines 298-346 and 639-649.
So, it looks like you have MSI enabled in -rc6, and not in -rc3. And yes, for some reason -rc3 will create the prefetchable memory range windows, but -rc6 won't.
I have to admit that I'm not seeing _why_ to that latter one. I don't think we've done any resource allocation changes since -rc3 (the "clean up late e820 resource allocation" thing happened just _before_ -rc3), so I'm really not seeing why -rc3 would act differently from -rc6..
> At the bottom there's a fairly long addition from the few suspend/resume > cycles I did (again, running with the debug patch).
Sure. Quite frankly, from these messages, I'm not seeing anything really even remotely wrong. And apparently it does actually work for you.
It would perhaps be more interesting to see if there is some dmesg difference in a boot that then ends up _not_ able to resume from hibernation? But apparently that hasn't happened to you lately?
I don't like not knowing why you have prefetchable windows in one, and not in the other, but it is indeed a transparent bridge and so that difference really shouldn't even matter.
Do you perhaps dual-boot that laptop? What can sometimes happen is that PCI resources do not get totally reset over a warm-boot.
We've (very occasionally) had situations where PCI resource bugs only happen when you warm-boot from another OS (generally Windows), or when you warm-boot from an earlier version of Linux. Exactly because some firmware didn't fully re-initialize the state of the PCI bus, and because Linux will try to honor everything that the firmware set up..
Linus
| |