Re: [RFT/PATCH] KVMS, mouse losing sync and going crazy

From: Dmitry Torokhov
Date: Sun May 08 2005 - 12:48:51 EST


On Sunday 08 May 2005 09:15, Mitch wrote:
> Hi Dmitry,
>
> Your patch (applied to 2.6.11.8) hangs my touchpad mouse totally.
> The error i get on bootup
>
> May 8 17:16:58 localhost kernel: ALPS Touchpad (Glidepoint) detected
> May 8 17:16:58 localhost kernel: alps.c: Failed to enable absolute mode
> May 8 17:16:58 localhost kernel: input: PS/2 ALPS TouchPad on
> isa0060/serio1
>
> without your patch
>
> May 8 18:11:56 localhost kernel: ALPS Touchpad (Dualpoint) detected
> May 8 18:11:56 localhost kernel: Disabling hardware tapping
> May 8 18:11:56 localhost kernel: input: AlpsPS/2 ALPS TouchPad on
> isa0060/serio1
>
> and the mouse works fine (except when it goes crazy and jumps all over
> the place). I've been suffering with the problem for a long while on
> this hardware..
>

Ahem, yep, I broke ALPS... Please try applying the patchlet below on top
of what I have posted or grab an updated version of the patch:

http://www.geocities.com/dt_or/input/2_6_11/psmouse-resync-2.6.11-v4.patch.gz

Thanks!

--
Dmitry

--- drivers/input/mouse/alps.c.orig 2005-05-08 12:20:13.000000000 -0500
+++ drivers/input/mouse/alps.c 2005-05-08 12:22:37.000000000 -0500
@@ -242,7 +242,6 @@
static int alps_passthrough_mode(struct psmouse *psmouse, int enable)
{
struct ps2dev *ps2dev = &psmouse->ps2dev;
- unsigned char param[3];
int cmd = enable ? PSMOUSE_CMD_SETSCALE21 : PSMOUSE_CMD_SETSCALE11;

if (ps2_command(ps2dev, NULL, cmd) ||
@@ -252,7 +251,7 @@
return -1;

/* we may get 3 more bytes, just ignore them */
- ps2_command(ps2dev, param, 0x0300);
+ ps2_drain(ps2dev, 3, 100);

return 0;
}
@@ -273,7 +272,7 @@
* Switch mouse to poll (remote) mode so motion data will not
* get in our way
*/
- return ps2_command(&psmouse->ps2dev, NULL, PSMOUSE_CMD_SETPOLL | 0x0300);
+ return ps2_command(&psmouse->ps2dev, NULL, PSMOUSE_CMD_SETPOLL);
}

static int alps_get_status(struct psmouse *psmouse, char *param)
-
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/