From: Dmitry Torokhov <dtor_core@ameritech.net>
To: linux-kernel@vger.kernel.org
Cc: Andrew Morton <akpm@osdl.org>, Vojtech Pavlik <vojtech@suse.cz>,
vojtech@ucw.cz
Subject: [PATCH 1/11] psmouse resync for KVM users
Date: Fri, 18 Jun 2004 03:37:15 -0500 [thread overview]
Message-ID: <200406180337.17457.dtor_core@ameritech.net> (raw)
In-Reply-To: <200406180335.52843.dtor_core@ameritech.net>
===================================================================
ChangeSet@1.1790, 2004-06-16 18:13:33-05:00, dtor_core@ameritech.net
Input: psmouse sync. changes
- when a partial packet is received (more than HZ/2 jiffies
has passed since last byte was received) increment
out-of-sync counter. It should help users with KVMs that
reset mice to bare PS/2 protocol but do not send 0xAA 0x00
init sequence - after 'resetafter' bad packets psmouse
will try reconnecting and reestablishing proper protcol.
- change default value for 'resetafter' parameter from
0 (never) to 20.
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
psmouse-base.c | 19 +++++++++++--------
1 files changed, 11 insertions(+), 8 deletions(-)
===================================================================
diff -Nru a/drivers/input/mouse/psmouse-base.c b/drivers/input/mouse/psmouse-base.c
--- a/drivers/input/mouse/psmouse-base.c 2004-06-18 03:14:22 -05:00
+++ b/drivers/input/mouse/psmouse-base.c 2004-06-18 03:14:22 -05:00
@@ -43,7 +43,7 @@
module_param_named(smartscroll, psmouse_smartscroll, bool, 0);
MODULE_PARM_DESC(smartscroll, "Logitech Smartscroll autorepeat, 1 = enabled (default), 0 = disabled.");
-static unsigned int psmouse_resetafter;
+static unsigned int psmouse_resetafter = 20;
module_param_named(resetafter, psmouse_resetafter, uint, 0);
MODULE_PARM_DESC(resetafter, "Reset device after so many bad packets (0 = never).");
@@ -189,6 +189,7 @@
printk(KERN_WARNING "psmouse.c: %s at %s lost synchronization, throwing %d bytes away.\n",
psmouse->name, psmouse->phys, psmouse->pktcnt);
psmouse->pktcnt = 0;
+ psmouse->out_of_sync++;
}
psmouse->last = jiffies;
@@ -221,12 +222,7 @@
printk(KERN_WARNING "psmouse.c: %s at %s lost sync at byte %d\n",
psmouse->name, psmouse->phys, psmouse->pktcnt);
psmouse->pktcnt = 0;
-
- if (++psmouse->out_of_sync == psmouse_resetafter) {
- psmouse->state = PSMOUSE_IGNORE;
- printk(KERN_NOTICE "psmouse.c: issuing reconnect request\n");
- serio_reconnect(psmouse->serio);
- }
+ psmouse->out_of_sync++;
break;
case PSMOUSE_FULL_PACKET:
@@ -241,6 +237,13 @@
case PSMOUSE_GOOD_DATA:
break;
}
+
+ if (psmouse->out_of_sync && psmouse->out_of_sync == psmouse_resetafter) {
+ psmouse->state = PSMOUSE_IGNORE;
+ printk(KERN_NOTICE "psmouse.c: issuing reconnect request\n");
+ serio_reconnect(psmouse->serio);
+ }
+
out:
return IRQ_HANDLED;
}
@@ -306,7 +309,7 @@
while (test_bit(PSMOUSE_FLAG_CMD, &psmouse->flags) && timeout--) {
if (!test_bit(PSMOUSE_FLAG_CMD1, &psmouse->flags)) {
-
+
if (command == PSMOUSE_CMD_RESET_BAT && timeout > 100000)
timeout = 100000;
next parent reply other threads:[~2004-06-18 8:44 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <200406180335.52843.dtor_core@ameritech.net>
2004-06-18 8:37 ` Dmitry Torokhov [this message]
2004-06-18 8:37 ` [PATCH 2/11] psmouse state locking Dmitry Torokhov
2004-06-18 8:38 ` [PATCH 3/11] serio connect/disconnect mandatory Dmitry Torokhov
2004-06-18 8:39 ` [PATCH 4/11] serio renames 1 Dmitry Torokhov
2004-06-18 8:39 ` [PATCH 5/11] serio renames 2 Dmitry Torokhov
2004-06-18 8:40 ` [PATCH 6/11] serio dynamic allocation Dmitry Torokhov
2004-06-18 8:41 ` [PATCH 7/11] serio no recursion Dmitry Torokhov
2004-06-18 8:42 ` [PATCH 8/11] serio sysfs integration Dmitry Torokhov
2004-06-18 8:42 ` [PATCH 9/11] serio allow rebinding Dmitry Torokhov
2004-06-18 8:43 ` [PATCH 10/11] serio manual bind Dmitry Torokhov
2004-06-18 8:43 ` [PATCH 11/11] serio_raw driver Dmitry Torokhov
2004-06-18 9:19 ` [PATCH 9/11] serio allow rebinding Jan-Benedict Glaw
2004-06-18 9:38 ` [PATCH 8/11] serio sysfs integration Andrew Morton
2004-06-18 12:50 ` Dmitry Torokhov
2004-06-18 19:43 ` Andrew Morton
2004-06-20 5:07 ` [PATCH 6/11] serio dynamic allocation Andrew Morton
2004-06-20 5:30 ` Dmitry Torokhov
2004-06-20 6:27 ` Andrew Morton
2004-06-20 6:28 ` Andrew Morton
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=200406180337.17457.dtor_core@ameritech.net \
--to=dtor_core@ameritech.net \
--cc=akpm@osdl.org \
--cc=linux-kernel@vger.kernel.org \
--cc=vojtech@suse.cz \
--cc=vojtech@ucw.cz \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox