[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <200901200119.59851.dmitry.torokhov@gmail.com>
Date: Tue, 20 Jan 2009 01:19:54 -0800
From: Dmitry Torokhov <dmitry.torokhov@...il.com>
To: Arjan Opmeer <arjan@...eer.net>
Cc: "Rafael J. Wysocki" <rjw@...k.pl>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Kernel Testers List <kernel-testers@...r.kernel.org>,
"Alexander E. Patrakov" <patrakov@...il.com>,
Denys Vlasenko <vda.linux@...glemail.com>
Subject: Re: [Bug #12406] 2.6.28 thinks that my PS/2 mouse is a touchpad
> On Mon, Jan 19, 2009 at 10:45:42PM +0100, Rafael J. Wysocki wrote:
> > The following bug entry is on the current list of known regressions
> > introduced between 2.6.27 and 2.6.28. Please verify if it still should
> > be listed and let me know (either way).
>
> Well. Dmitry hasn't replied yet to my suggestion how to fix this as
> presented in the Patch entry. Without help from him as the Linux input
> subsystem maintainer there is not a lot I can do.
>
> This means the regression is still present in the current 2.6.29 git tree.
Sorry, must have missed that. I think it's gonna be a bit chatty if
user happens to have Logitech++ device attached, however I think if
we complement it with the patch below I think it should work OK.
--
Dmitry
Input: psmouse - move Elantech detection towards end of the list
Elantech'd detection routine misfires on Logitech's devices so let's
move it down to prevent false positives.
Signed-off-by: Dmitry Torokhov <dtor@...l.ru>
---
drivers/input/mouse/psmouse-base.c | 26 +++++++++++++-------------
1 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/drivers/input/mouse/psmouse-base.c b/drivers/input/mouse/psmouse-
base.c
index f8f86de..e4106ba 100644
--- a/drivers/input/mouse/psmouse-base.c
+++ b/drivers/input/mouse/psmouse-base.c
@@ -651,19 +651,6 @@ static int psmouse_extensions(struct psmouse *psmouse,
max_proto = PSMOUSE_IMEX;
}
-/*
- * Try Elantech touchpad.
- */
- if (max_proto > PSMOUSE_IMEX &&
- elantech_detect(psmouse, set_properties) == 0) {
- if (!set_properties || elantech_init(psmouse) == 0)
- return PSMOUSE_ELANTECH;
-/*
- * Init failed, try basic relative protocols
- */
- max_proto = PSMOUSE_IMEX;
- }
-
if (max_proto > PSMOUSE_IMEX) {
if (genius_detect(psmouse, set_properties) == 0)
return PSMOUSE_GENPS;
@@ -679,6 +666,19 @@ static int psmouse_extensions(struct psmouse *psmouse,
}
/*
+ * Try Elantech touchpad.
+ */
+ if (max_proto > PSMOUSE_IMEX &&
+ elantech_detect(psmouse, set_properties) == 0) {
+ if (!set_properties || elantech_init(psmouse) == 0)
+ return PSMOUSE_ELANTECH;
+/*
+ * Init failed, try basic relative protocols
+ */
+ max_proto = PSMOUSE_IMEX;
+ }
+
+/*
* Reset to defaults in case the device got confused by extended
* protocol probes. Note that we follow up with full reset because
* some mice put themselves to sleep when they see PSMOUSE_RESET_DIS.
.
Powered by blists - more mailing lists