Lucid request pull, SRU LP551234
Tim Gardner
timg at tpi.com
Tue May 25 23:44:52 UTC 2010
The following changes since commit f0819aaf4948e34a44d9d685615ddee74271cd70:
Chase Douglas (1):
UBUNTU: enforce CONFIG_TMPFS_POSIX_ACL=y
are available in the git repository at:
git://kernel.ubuntu.com/rtg/ubuntu-lucid.git lp551234
Dmitry Torokhov (1):
(pre-stable) Input: psmouse - reset all types of mice before reconnecting
drivers/input/mouse/psmouse-base.c | 14 ++++++++++----
1 files changed, 10 insertions(+), 4 deletions(-)
>From 8a01e55a286fd66bb2328a3dfb083ab492c26bd4 Mon Sep 17 00:00:00 2001
From: Dmitry Torokhov <dmitry.torokhov at gmail.com>
Date: Thu, 13 May 2010 00:42:23 -0700
Subject: [PATCH] (pre-stable) Input: psmouse - reset all types of mice before reconnecting
BugLink: http://bugs.launchpad.net/bugs/551234
Synaptics hardware requires resetting device after suspend to ram
in order for the device to be operational. The reset lives in
synaptics-specific reconnect handler, but it is not being invoked
if synaptics support is disabled and the device is handled as a
standard PS/2 device (bare or IntelliMouse protocol).
Let's add reset into generic reconnect handler as well.
Signed-off-by: Dmitry Torokhov <dtor at mail.ru>
(cherry picked from commit ef110b24e28f36620f63dab94708a17c7e267358)
Signed-off-by: Tim Gardner <tim.gardner at canonical.com>
---
drivers/input/mouse/psmouse-base.c | 14 ++++++++++----
1 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/drivers/input/mouse/psmouse-base.c b/drivers/input/mouse/psmouse-base.c
index 0876d82..9451e28 100644
--- a/drivers/input/mouse/psmouse-base.c
+++ b/drivers/input/mouse/psmouse-base.c
@@ -1349,6 +1349,7 @@ static int psmouse_reconnect(struct serio *serio)
struct psmouse *psmouse = serio_get_drvdata(serio);
struct psmouse *parent = NULL;
struct serio_driver *drv = serio->drv;
+ unsigned char type;
int rc = -1;
if (!drv || !psmouse) {
@@ -1368,10 +1369,15 @@ static int psmouse_reconnect(struct serio *serio)
if (psmouse->reconnect) {
if (psmouse->reconnect(psmouse))
goto out;
- } else if (psmouse_probe(psmouse) < 0 ||
- psmouse->type != psmouse_extensions(psmouse,
- psmouse_max_proto, false)) {
- goto out;
+ } else {
+ psmouse_reset(psmouse);
+
+ if (psmouse_probe(psmouse) < 0)
+ goto out;
+
+ type = psmouse_extensions(psmouse, psmouse_max_proto, false);
+ if (psmouse->type != type)
+ goto out;
}
/* ok, the device type (and capabilities) match the old one,
--
1.7.0.4
More information about the kernel-team
mailing list