Hi, Here is the promised patch. It turns out protocol validation code was a bit (or rather a byte ;) ) off.
Please let me know if it fixes your touchpad and I believe it would be nice to have it in 2.6.11. -- Dmitry =================================================================== [EMAIL PROTECTED], 2005-02-08 18:12:06-05:00, [EMAIL PROTECTED] Input: alps - fix protocol validation rules causing touchpad to lose sync if an absolute packet is received after a relative packet with negative Y displacement. Signed-off-by: Dmitry Torokhov <[EMAIL PROTECTED]> alps.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) =================================================================== diff -Nru a/drivers/input/mouse/alps.c b/drivers/input/mouse/alps.c --- a/drivers/input/mouse/alps.c 2005-02-08 18:16:27 -05:00 +++ b/drivers/input/mouse/alps.c 2005-02-08 18:16:27 -05:00 @@ -198,8 +198,8 @@ return PSMOUSE_BAD_DATA; /* Bytes 2 - 6 should have 0 in the highest bit */ - if (psmouse->pktcnt > 1 && psmouse->pktcnt <= 6 && - (psmouse->packet[psmouse->pktcnt] & 0x80)) + if (psmouse->pktcnt >= 2 && psmouse->pktcnt <= 6 && + (psmouse->packet[psmouse->pktcnt - 1] & 0x80)) return PSMOUSE_BAD_DATA; if (psmouse->pktcnt == 6) { - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/