On Wed, 2009-07-01 at 22:31 +0800, Jeff Chua wrote: > On Tue, Jun 30, 2009 at 12:21 AM, Jeff Chua<jeff.chua.linux@xxxxxxxxx> wrote: > > > I just tried, and it "seems" to work. Will try a few more cycles. > > STD/STR survived quite a few cycles now. Patch seems to be doing the > right thing. > > On Mon, Jun 29, 2009 at 11:51 PM, Etienne > Basset<etienne.basset@xxxxxxxxxxxxxx> wrote: > > > To have STR/resume work with current git, I have to : > > > 1) apply Bart's patch > > This is not yet in Linus's tree. And much needed to really fix the problem. > > > 2) revert this commit : a1317f714af7aed60ddc182d0122477cbe36ee9b > Yes, This commit must be reverted, otherwise, STD/Hibernation will not work either. I have tested it on two different loongson-based machines: fuloong2e box and yeeloong2f netbook.(loongson is mips compatiable) Here is what i have traced: hibernate(kernel/power/hibernate.c) --> hibernation_snapshot --> dpm_resume_end --> dpm_resume --> device_resume --> dev->bus->resume(generic_ide_resume), dev_name(dev) = 0.0 --> blk_execute_rq { DECLARE_COMPLETION_ONSTACK(wait); ... wait_for_completion(&wait); // stop here ... } and I have tried to revert this part of the above patch: - - WARN_ON_ONCE(hwif->rq); repeat: prev_port = hwif->host->cur_port; + + if (drive->dev_flags & IDE_DFLAG_BLOCKED) + rq = hwif->rq; + else + WARN_ON_ONCE(hwif->rq); + it works! need more time to test! thanks! Wu Zhangjin