linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: [BUG] MIPS: Hibernation in the latest linux-mips:master branch not work
       [not found] ` <20090630144540.GA18212@linux-mips.org>
@ 2009-07-01  7:16   ` Wu Zhangjin
  2009-07-01 14:55     ` Wu Zhangjin
  0 siblings, 1 reply; 2+ messages in thread
From: Wu Zhangjin @ 2009-07-01  7:16 UTC (permalink / raw)
  To: Ralf Baechle, linux-ide; +Cc: LKML, linux-mips, Pavel Machek

On Tue, 2009-06-30 at 15:45 +0100, Ralf Baechle wrote:
> On Tue, Jun 30, 2009 at 10:41:08PM +0800, Wu Zhangjin wrote:
> 
> > I just updated my git repository to the master branch of the latest
> > linux-mips git repository, and tested the STD/Hibernation support on
> > fuloong2e and yeeloong2f, it failed:
> > 
> > when using the no_console_suspend kernel command line to debug, it
> > stopped on:
> > 
> > PM: Shringking memory... done (1000 pages freed)
> > PM: Freed 160000 kbytes in 1.68 seconds (95.23 MB/s)
> > PM: Creating hibernation image:
> > PM: Need to copy 5053 pages
> > PM: Hibernation image created (4195 pages copied)
> > 
> > and then, the number indicator light of keyboard works well, but can not
> > type anything. 
> > 
> > anybody have tested it on another platform? does it work?
> 
> At the time of the merge I tested it on Malta and found it to be working.
> 

Just traced it, the executing path is something like this:

	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
		...
	}

I guess there is a possible bug in the latest ide patches, I'm trying to
find which one is 'bad'.

the ide driver i used is VIA82CXXX chipset support.

Regards,
Wu Zhangjin


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [BUG] MIPS: Hibernation in the latest linux-mips:master branch not work
  2009-07-01  7:16   ` [BUG] MIPS: Hibernation in the latest linux-mips:master branch not work Wu Zhangjin
@ 2009-07-01 14:55     ` Wu Zhangjin
  0 siblings, 0 replies; 2+ messages in thread
From: Wu Zhangjin @ 2009-07-01 14:55 UTC (permalink / raw)
  To: Ralf Baechle
  Cc: linux-ide, LKML, linux-mips, Pavel Machek,
	Bartlomiej Zolnierkiewicz, David S. Miller

On Wed, 2009-07-01 at 15:16 +0800, Wu Zhangjin wrote:
> On Tue, 2009-06-30 at 15:45 +0100, Ralf Baechle wrote:
> > On Tue, Jun 30, 2009 at 10:41:08PM +0800, Wu Zhangjin wrote:
> > 
> > > I just updated my git repository to the master branch of the latest
> > > linux-mips git repository, and tested the STD/Hibernation support on
> > > fuloong2e and yeeloong2f, it failed:
> > > 
> > > when using the no_console_suspend kernel command line to debug, it
> > > stopped on:
> > > 
> > > PM: Shringking memory... done (1000 pages freed)
> > > PM: Freed 160000 kbytes in 1.68 seconds (95.23 MB/s)
> > > PM: Creating hibernation image:
> > > PM: Need to copy 5053 pages
> > > PM: Hibernation image created (4195 pages copied)
> > > 
> > > and then, the number indicator light of keyboard works well, but can not
> > > type anything. 
> > > 
> > > anybody have tested it on another platform? does it work?
> > 
> > At the time of the merge I tested it on Malta and found it to be working.
> > 
> 
> Just traced it, the executing path is something like this:
> 
> 	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
> 		...
> 	}
> 
> I guess there is a possible bug in the latest ide patches, I'm trying to
> find which one is 'bad'.
> 

There is really a bug in one of ide patches, here it is:

commit a1317f714af7aed60ddc182d0122477cbe36ee9b
Author: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Date:   Tue Jun 23 23:52:17 2009 -0700

    ide: improve handling of Power Management requests
    
    Make hwif->rq point to PM request during PM sequence and do not
allow
    any other types of requests to slip in (the old comment was never
correct
    as there should be no such requests generated during PM sequence).
    
    Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

I have reverted this part of the above patch, seems works, need more
tests:

-
-               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);
+

please get more information from this bug report:

[Bug #13663] suspend to ram regression (IDE related)
http://lkml.org/lkml/2009/6/29/341

Regards!
Wu Zhangjin

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2009-07-01 14:55 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <1246372868.19049.17.camel@falcon>
     [not found] ` <20090630144540.GA18212@linux-mips.org>
2009-07-01  7:16   ` [BUG] MIPS: Hibernation in the latest linux-mips:master branch not work Wu Zhangjin
2009-07-01 14:55     ` Wu Zhangjin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).