From: Dmitry Torokhov <dtor_core@ameritech.net>
To: Victor Hahn <victorhahn@web.de>
Cc: linux-kernel@vger.kernel.org
Subject: Re: Really annoying bug in the mouse driver
Date: Fri, 28 Jan 2005 02:06:06 -0500 [thread overview]
Message-ID: <200501280206.06747.dtor_core@ameritech.net> (raw)
In-Reply-To: <41E91795.9060609@web.de>
On Saturday 15 January 2005 08:16, Victor Hahn wrote:
> Jan 15 13:33:36 vic kernel: psmouse.c: bad data from KBC - bad parity
> Jan 15 13:33:38 vic kernel: psmouse.c: Wheel Mouse at
> isa0060/serio1/input0 lost
> synchronization, throwing 3 bytes away.
>
> Sometimes, only one of these messages appears; the number of bytes in
> the second message varies, but mostly it is 3.
>
Hi,
Could you please try the patch below?
Thanks!
--
Dmitry
===== psmouse-base.c 1.88 vs edited =====
--- 1.88/drivers/input/mouse/psmouse-base.c 2005-01-27 02:13:43 -05:00
+++ edited/psmouse-base.c 2005-01-28 00:05:08 -05:00
@@ -154,9 +154,19 @@
flags & SERIO_TIMEOUT ? " timeout" : "",
flags & SERIO_PARITY ? " bad parity" : "");
ps2_cmd_aborted(&psmouse->ps2dev);
+ if (psmouse->resend || serio_write(serio, PSMOUSE_CMD_RESEND)) {
+ psmouse->resend = 0;
+ psmouse->state = PSMOUSE_IGNORE;
+ serio_reconnect(serio);
+ } else {
+ psmouse->pktcnt = 0;
+ psmouse->resend = 1;
+ }
goto out;
}
+ psmouse->resend = 0;
+
if (unlikely(psmouse->ps2dev.flags & PS2_FLAG_ACK))
if (ps2_handle_ack(&psmouse->ps2dev, data))
goto out;
@@ -173,6 +183,10 @@
printk(KERN_WARNING "psmouse.c: %s at %s lost synchronization, throwing %d bytes away.\n",
psmouse->name, psmouse->phys, psmouse->pktcnt);
psmouse->pktcnt = 0;
+ if (serio_write(serio, PSMOUSE_CMD_RESEND) == 0) {
+ psmouse->resend = 1;
+ psmouse->last = jiffies;
+ }
}
psmouse->last = jiffies;
===== psmouse.h 1.25 vs edited =====
--- 1.25/drivers/input/mouse/psmouse.h 2004-10-16 06:15:31 -05:00
+++ edited/psmouse.h 2005-01-28 00:04:47 -05:00
@@ -13,6 +13,7 @@
#define PSMOUSE_CMD_ENABLE 0x00f4
#define PSMOUSE_CMD_DISABLE 0x00f5
#define PSMOUSE_CMD_RESET_DIS 0x00f6
+#define PSMOUSE_CMD_RESEND 0x00fe
#define PSMOUSE_CMD_RESET_BAT 0x02ff
#define PSMOUSE_RET_BAT 0xaa
@@ -45,6 +46,7 @@
unsigned char pktsize;
unsigned char type;
unsigned char model;
+ unsigned char resend;
unsigned long last;
unsigned long out_of_sync;
enum psmouse_state state;
next prev parent reply other threads:[~2005-01-28 7:06 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-01-15 13:16 Really annoying bug in the mouse driver Victor Hahn
2005-01-28 7:06 ` Dmitry Torokhov [this message]
2005-02-01 8:54 ` Victor Hahn
2005-02-01 13:56 ` Dmitry Torokhov
2005-02-01 14:19 ` Victor Hahn
2005-02-01 23:19 ` Dmitry Torokhov
2005-02-02 6:08 ` Victor Hahn
2005-02-02 6:26 ` Dmitry Torokhov
2005-02-02 10:22 ` Victor Hahn
2005-02-02 15:44 ` Dmitry Torokhov
2005-02-03 15:05 ` Victor Hahn
2005-02-03 15:17 ` Dmitry Torokhov
2005-02-01 13:29 ` zhilla
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200501280206.06747.dtor_core@ameritech.net \
--to=dtor_core@ameritech.net \
--cc=linux-kernel@vger.kernel.org \
--cc=victorhahn@web.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.