On Saturday, 14 April 2007 23:35, Tobias Diedrich wrote:
> Rafael J. Wysocki wrote:
> > On Saturday, 14 April 2007 21:56, Tobias Diedrich wrote:
> > > Rafael J. Wysocki wrote:
> > > > On Saturday, 14 April 2007 15:00, Adrian Bunk wrote:
> > > > > On Sat, Apr 14, 2007 at 02:31:54PM +0200, Tobias Diedrich wrote:
> > > > > > Tobias Diedrich wrote:
> > > > > > > > ed746e3b18f4df18afa3763155972c5835f284c5 is first bad commit
> > > > > > > > commit ed746e3b18f4df18afa3763155972c5835f284c5
> > > > > > > > Author: Rafael J. Wysocki <[EMAIL PROTECTED]>
> > > > > > > > Date:   Sat Feb 10 01:43:32 2007 -0800
> > > > > > > > 
> > > > > > > >     [PATCH] swsusp: Change code ordering in disk.c
> > > > > > > >     
> > > > > > > >     Change the ordering of code in kernel/power/disk.c so that 
> > > > > > > > device_suspend() is
> > > > > > > >     called before disable_nonboot_cpus() and platform_finish() 
> > > > > > > > is called after
> > > > > > > >     enable_nonboot_cpus() and before device_resume(), as 
> > > > > > > > indicated by the recent
> > > > > > > >     discussion on Linux-PM (cf.
> > > > > > > >     
> > > > > > > > http://lists.osdl.org/pipermail/linux-pm/2006-November/004164.html).
> > > > > > > >     
> > > > > > > >     The changes here only affect the built-in swsusp.
> > > > > > > >     
> > > > > > > >     [EMAIL PROTECTED]: fix LED blinking during image load]
> > > > > > > >     Signed-off-by: Rafael J. Wysocki <[EMAIL PROTECTED]>
> > > > > > > >     Acked-by: Pavel Machek <[EMAIL PROTECTED]>
> > > > > > > >     Cc: Greg KH <[EMAIL PROTECTED]>
> > > > > > > >     Cc: Nigel Cunningham <[EMAIL PROTECTED]>
> > > > > > > >     Cc: Patrick Mochel <[EMAIL PROTECTED]>
> > > > > > > >     Cc: Alexey Starikovskiy <[EMAIL PROTECTED]>
> > > > > > > >     Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
> > > > > > > >     Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]>
> > > > > > > > 
> > > > > > > > :040000 040000 7eca5b3a8f9606bc4f2ff41192ec8c9d4ca90d18 
> > > > > > > > 8313b674e1d1bdf6849350af06d28a89b3bb3054 M      kernel
> > > > > > > > 
> > > > > > > > 
> > > > > > > > Now, the remaining test is to try reverting this commit from 
> > > > > > > > -rc6. :)
> > > > > > > 
> > > > > > > Doesn't apply cleanly against -rc6, but fixes the problem when
> > > > > > > reverted from -rc1.
> > > > > > 
> > > > > > Now, this was already reported in
> > > > > > http://lkml.org/lkml/2007/3/16/126
> > > > > > and I even flagged that message in my local folder, but apparently 
> > > > > > forgot
> > > > > > to follow up on it... *sigh*
> > > > > 
> > > > > Unless I misunderstood something, all of the problems Maxim described 
> > > > > in 
> > > > > this email are fixed for him in -rc6.
> > > > > 
> > > > > But it's quite possible that you are running into a different issue 
> > > > > exposed by this commit.
> > > > 
> > > > Yes, it's likely.
> > > > 
> > > > Tobias, I'm unable to reproduce the problem with your .config, but my 
> > > > hardware
> > > > is certainly different.  Which suspend mode do you use?  If that's 
> > > > "platform",
> > > > can you try to use "shutdown" or "reboot" and see if that helps?
> > > 
> > > Sure.
> > > shutdown/reboot works fine, only platform is broken.
> > 
> > Thanks.
> > 
> > Now, I suspect the problem is somehow related to the hardware, so it would 
> > help
> > a lot if we could identify the piece of hardware (or driver) involved.
> > 
> > AFAICT, your system is a non-SMP one, so we can rule out
> > disable/enable_nonboot_cpus().  To confirm that the problem is related to
> > platform_finish(), can you please apply the appended debug patch and
> > see if the suspend in the 'platform' mode works with it?
> 
> Yes, it's a Asus M2N-SLI-Deluxe Mainboard with a Athlon64 3200+
> single core CPU.
> 
> > Also, would that be feasible for you to use 'shutdown' as a workaround in 
> > case
> > the source of the problem is difficult to find and/or fix?
> 
> I guess so, but the below patch fixes the problem. :)

Well, I thought it would, but it also would break some other people's systems.
That's the _real_ problem.  Let's see if we can learn more.

Can you please revert it for now, apply the appended one and try to
suspend/resume twice in the 'platform' mode (it may or may not work)?

Rafael

---
 kernel/power/disk.c |    6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

Index: linux-2.6.21-rc6/kernel/power/disk.c
===================================================================
--- linux-2.6.21-rc6.orig/kernel/power/disk.c
+++ linux-2.6.21-rc6/kernel/power/disk.c
@@ -267,12 +267,15 @@ static int software_resume(void)
        error = swsusp_read();
        if (error) {
                swsusp_free();
-               platform_finish();
                goto Thaw;
        }
 
        pr_debug("PM: Preparing devices for restore.\n");
 
+       error = platform_prepare();
+       if (error)
+               goto Thaw;
+
        suspend_console();
        error = device_suspend(PMSG_PRETHAW);
        if (error)
@@ -285,6 +288,7 @@ static int software_resume(void)
        enable_nonboot_cpus();
  Free:
        swsusp_free();
+       platform_finish();
        device_resume();
        resume_console();
  Thaw:
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to