> 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 <[email protected]>
---

 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.

N‹§²æìr¸›yúèšØb²X¬¶Ç§vØ^–)Þº{.nÇ+‰·¤z¹Þ–׬µêìŠ{ayºʇڙë,j­¢f£¢·hš‹àz¹®w¥¢¸
¢·¦j:+v‰¨ŠwèjØm¶Ÿÿ¾«‘êçzZ+ƒùšŽŠÝ¢j"ú!¶i

Reply via email to