Re: Linux 2.6.21-rc6

From: Tobias Diedrich
Date: Sat Apr 14 2007 - 17:35:48 EST


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 <rjw@xxxxxxx>
> > > > > > > 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.
> > > > > > >
> > > > > > > [alexey.y.starikovskiy@xxxxxxxxxxxxxxx: fix LED blinking during image load]
> > > > > > > Signed-off-by: Rafael J. Wysocki <rjw@xxxxxxx>
> > > > > > > Acked-by: Pavel Machek <pavel@xxxxxx>
> > > > > > > Cc: Greg KH <greg@xxxxxxxxx>
> > > > > > > Cc: Nigel Cunningham <nigel@xxxxxxxxxxxx>
> > > > > > > Cc: Patrick Mochel <mochel@xxxxxxxxxxxxxxxxxx>
> > > > > > > Cc: Alexey Starikovskiy <alexey.y.starikovskiy@xxxxxxxxxxxxxxx>
> > > > > > > Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> > > > > > > Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
> > > > > > >
> > > > > > > :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. :)

> ---
> kernel/power/disk.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> 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
> @@ -170,8 +170,8 @@ int pm_suspend_disk(void)
>
> if (in_suspend) {
> enable_nonboot_cpus();
> - platform_finish();
> device_resume();
> + platform_finish();
> resume_console();
> pr_debug("PM: writing image.\n");
> error = swsusp_write();
> @@ -189,8 +189,8 @@ int pm_suspend_disk(void)
> Enable_cpus:
> enable_nonboot_cpus();
> Resume_devices:
> - platform_finish();
> device_resume();
> + platform_finish();
> resume_console();
> Thaw:
> unprepare_processes();
>

--
Tobias PGP: http://9ac7e0bc.uguu.de
ããããããååååçãããããããäããããããã
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/