From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
To: Daniel Manrique <daniel.manrique@canonical.com>
Cc: linux-input@vger.kernel.org
Subject: Re: Bug: touchpad unresponsive after resume from S3 (psmouse driver)
Date: Tue, 29 Nov 2011 16:17:48 -0800 [thread overview]
Message-ID: <20111130001748.GA2270@core.coreip.homeip.net> (raw)
In-Reply-To: <4ED535E7.5030108@canonical.com>
On Tue, Nov 29, 2011 at 02:43:35PM -0500, Daniel Manrique wrote:
> On 11-11-29 12:53 PM, Dmitry Torokhov wrote:
> > Hi Daniel,
> >
> > On Tue, Nov 29, 2011 at 11:26:19AM -0500, Daniel Manrique wrote:
> >> Hello,
> >>
> >> I apologize for sending this bug report directly; with the kernel.org bugtracker
> >> down I was told this was the best option for the time being. If this is not
> >> correct, could you please let me know of a good place to submit this bug report?
> >>
> >> I have several Dell laptops with Synaptics touchpads, particularly a group of
> >> Vostro V13 systems. On these, after a suspend/resume cycle, the touchpad
> >> (Synaptics) is unresponsive; a workaround is to rmmod psmouse; modprobe psmouse.
> >>
> >> This was first reported on kernel 2.6.38, although I think the issue has been
> >> present from as early as 2.6.32. I verified it for sure with Ubuntu 2.6.38
> >> kernels, 3.0.0 kernels, and a 3.2.0 kernel from the development release, as well
> >> as a "mainline" 3.1.0-rc10 kernel.
> >>
> >> Since this problem was seen on Ubuntu, it's filed on the Launchpad bug tracker.
> >> The first report I can find is this one:
> >>
> >> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/715267
> >>
> >> This includes a series of log messages I don't see on my systems. I then filed
> >> this other bug:
> >>
> >> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/879650
> >>
> >> The last one contains specific information from one of my systems (a Vostro V13).
> >>
> >> I'd really appreciate any help or guidance on how to solve this problem. If you
> >> need me to collect any information or run any tests on these machines, please
> >> don't hesitate to ask, these systems are primarily used for testing.
> >>
> >
> > Please do:
> >
> > - enable i8042 debug (echo 1 > /sys/module/i8042/parameters/debug)
> > - rmmod psmouse;
> > - suspend/resume;
> > - collect dmesg;
> > - suspend/resume;
> > - collect dmesg again
> >
> > and we'll have to try and find what we do differently.
> >
> > Thanks.
> >
>
> Hi Dmitry,
>
> Thanks so much for the quick reply!
>
> I just ran the tests you requested with some extra steps which I hope won't
> confuse things. Here's the sequence I followed:
>
> - Enabled i8042 debug
> - sudo rmmod psmouse. Touchpad of course becomes unresponsive.
> - sudo pm-suspend
> - Wake the machine by pressing power
> - At this point touchpad is unresponsive.
> - Collected dmesg-1.txt
> - sudo pm-suspend
> - wake the machine by pressing power
> - At this point touchpad is still unresponsive.
> - Collected dmesg-2.txt
> - sudo modprobe psmouse. Touchpad begins responding.
> - Collected dmesg-3.txt
> - sudo pm-suspend
> - wake the machine by pressing power
> - At this point touchpad is again unresponsive.
> - Collected dmesg-4.txt
>
> To avoid attaching largish files to this email, I put the logs on a
> publically-accessible http server at:
> http://people.canonical.com/~roadmr/lp715267/. Please let me know if you prefer
> something else.
>
Hmm, it just does not want to admit that it is synaptics after reset.
Does the patch below help any?
--
Dmitry
Input: synaptics - delay in reconnect
From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
---
drivers/input/mouse/synaptics.c | 12 ++++++++++++
1 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c
index 06c9ee5..fa127ec 100644
--- a/drivers/input/mouse/synaptics.c
+++ b/drivers/input/mouse/synaptics.c
@@ -1279,6 +1279,7 @@ static void synaptics_disconnect(struct psmouse *psmouse)
psmouse->private = NULL;
}
+#include <linux/delay.h>
static int synaptics_reconnect(struct psmouse *psmouse)
{
struct synaptics_data *priv = psmouse->private;
@@ -1288,6 +1289,17 @@ static int synaptics_reconnect(struct psmouse *psmouse)
do {
psmouse_reset(psmouse);
+ if (retry) {
+ unsigned char param[2];
+
+ psmouse_info(psmouse, "Delaying after reset.\n");
+ ssleep(1);
+
+ psmouse_info(psmouse, "Querying ID.\n");
+ param[0] = 0xa5;
+ error = ps2_command(&psmouse->ps2dev, param, PSMOUSE_CMD_GETID);
+ psmouse_info(psmouse, "ID: %x %x (%d).\n", param[0], param[1], error);
+ }
error = synaptics_detect(psmouse, 0);
} while (error && ++retry < 3);
next prev parent reply other threads:[~2011-11-30 0:17 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-11-29 16:26 Bug: touchpad unresponsive after resume from S3 (psmouse driver) Daniel Manrique
2011-11-29 17:53 ` Dmitry Torokhov
2011-11-29 19:43 ` Daniel Manrique
2011-11-30 0:17 ` Dmitry Torokhov [this message]
2011-11-30 15:18 ` Daniel Manrique
2011-12-01 5:15 ` Dmitry Torokhov
2011-12-01 20:39 ` Daniel Manrique
2011-12-02 6:16 ` Dmitry Torokhov
2011-12-02 17:39 ` Daniel Manrique
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20111130001748.GA2270@core.coreip.homeip.net \
--to=dmitry.torokhov@gmail.com \
--cc=daniel.manrique@canonical.com \
--cc=linux-input@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).