Re: 2.6.23-rc6-mm1: failure to boot on HP nx6325, no sound when booted, USB-related WARNING

Rafael J. Wysocki
2007-09-20T20:26:38Z

On Thursday, 20 September 2007 17:49, Thomas Gleixner wrote:
> On Thu, 2007-09-20 at 16:50 +0200, Thomas Gleixner wrote:
> > > > > Well, the above may affect SMP systems, but the Vaio is UP. Hmm?
> > > >
> > > > My jinxed VAIO variant is SMP, but it looks like the same mysterious
> > > > error.
> > >
> > > Hm. Have you tried
> > >
> > > # echo test > /sys/power/disk
> > > # echo disk > /sys/power/state
> > >
> > > (should suspend devices and disable the nonboot CPUs, wait for 5 sec. and
> > > restore everything)?
> >
> > Works fine, but I need to reboot into a non debug kernel to verify.
>
> Works as well. What's the difference between this and the real thing ?

The real thing also calls device_power_down(PMSG_FREEZE), which is a
counterpart of sysdev_shutdown(), more or less, and I think that's what goes
belly up.

You can use the patch below (on top of -rc6-mm1), which just disables the image
creation (that should be irrelevant anyway) and see what happens.

Greetings,
Rafael

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

Index: linux-2.6.23-rc6-mm1/kernel/power/disk.c
===================================================================
--- linux-2.6.23-rc6-mm1.orig/kernel/power/disk.c
+++ linux-2.6.23-rc6-mm1/kernel/power/disk.c
@@ -168,13 +168,14 @@ int create_image(int platform_mode)
}

save_processor_state();
- error = swsusp_arch_suspend();
- if (error)
- printk(KERN_ERR "Error %d while creating the image\n", error);
+ //error = swsusp_arch_suspend();
+ //if (error)
+ // printk(KERN_ERR "Error %d while creating the image\n", error);
/* Restore control flow magically appears here */
restore_processor_state();
- if (!in_suspend)
- platform_leave(platform_mode);
+ //if (!in_suspend)
+ // platform_leave(platform_mode);
+ in_suspend = 0;
/* NOTE: device_power_up() is just a resume() for devices
* that suspended with irqs off ... no overall powerup.
*/