Re: psmouse as module with suspend/resume

From: Dmitry Torokhov
Date: Fri Jul 16 2004 - 17:46:09 EST


On Friday 16 July 2004 11:46 am, Kevin Fenzi wrote:
> >>>>> "Dmitry" == Dmitry Torokhov <dtor_core@xxxxxxxxxxxxx> writes:
>
> Dmitry> On Thursday 15 July 2004 03:54 pm, Kevin Fenzi wrote:
> >> Greetings.
> >>
> >> I am having a bit of an issue with psmouse and suspend/resume. I
> >> am using the swsusp2, which is working great... (Thanks Nigel!)
> >>
> >> However:
> >>
> >> If I compile psmouse as a module and leave it in and suspend/resume
> >> when the laptop comes back the mouse doesn't work at all.
> >>
> >> If I compile psmouse as a module and unload before suspend, and
> >> reload after resume, the mouse works for simple movement, but all
> >> the advanced synaptics features no longer work. No tap for mouse
> >> button, no scolling, etc.
> >>
> >> If I compile psmouse in everything works after a suspend/resume
> >> cycle.
>
> Dmitry> There should not be any differences between module and
> Dmitry> compiled version. Could you please change #undef DEBUG to
> Dmitry> #define DEBUG in drivers/input/serio/i8042.c module and post
> Dmitry> the full dmesg (you may have to use log_buf_size=131072 and
> Dmitry> 'dmesg -s 131072' to get the full dmesg).
>
> ok. I did that...
>
> Here is a boot up with psmouse as a module.
> Then a suspend.
> Then a rmmod psmouse; modprobe psmouse.
>

>From what I see there was no attempts to reconnect any of the devices
connected to PS/2 ports.

I am inclined to say that it's swsusp2 problem. I briefly looked over
the code and I could not find a place where device_power_up would be
called; swsusp2 goes straight to device_resume. This causes system
devices (and i8042 is currently a system device) not be resumed and
thus your touchpad is left id default PS/2 hardware emulation mode.

Have you tried swsusp1? It seems to have the proper hooks in place.

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