Re: problem with suspending linux-2.6.12-rc1

From: Andy Isaacson
Date: Thu Mar 31 2005 - 01:23:17 EST


On Tue, Mar 29, 2005 at 12:20:49AM +0200, Pavel Machek wrote:
> On Po 28-03-05 10:03:06, Ulrich Lauther wrote:
> > > > since upgrading from 2.6.11 to 2.6.12-rc1 software suspend doesn't work
> > > > anymore for me:
> > > > The last I see when suspending (echo 4 > /proc/acpi/sleep) is a
> > > > message refering to eth0, then when "writing to swap space"
> > > > should appear, the system stops.

This sounds similar to the swsusp hang I started seeing when I upgraded
from 2.6.11 to 2.6.12-rc1; my touchpad was failing to reinitialize, so
input was calling hotplug which tried to exec /sbin/hotplug, and the
exec() blocked because userland was stopped. If you do Sysrq-T and see
a process with a stack trace like
wait_for_completion
call_usermodehelper
kobject_hotplug
kobject_del
class_device_del
class_device_unregister
mousedev_disconnect
input_unregister_device
then you're seeing the same kind of bug.

Try the patch below from Dmitry.

-andy

===================================================================

Input: serio - do not attempt to immediately disconnect port if
resume failed, let kseriod take care of it. Otherwise we
may attempt to unregister associated input devices which
will generate hotplug events which are not handled well
during swsusp.

Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx>


serio.c | 1 -
1 files changed, 1 deletion(-)

Index: dtor/drivers/input/serio/serio.c
===================================================================
--- dtor.orig/drivers/input/serio/serio.c
+++ dtor/drivers/input/serio/serio.c
@@ -779,7 +779,6 @@ static int serio_resume(struct device *d
struct serio *serio = to_serio_port(dev);

if (!serio->drv || !serio->drv->reconnect || serio->drv->reconnect(serio)) {
- serio_disconnect_port(serio);
/*
* Driver re-probing can take a while, so better let kseriod
* deal with it.

-
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/