public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Dmitry Torokhov <dtor_core@ameritech.net>
To: jfeise@feise.com
Cc: linux-kernel@vger.kernel.org
Subject: Re: mouse issues in 2.6.15-rc5-mm series
Date: Sat, 24 Dec 2005 12:56:51 -0500	[thread overview]
Message-ID: <200512241256.52189.dtor_core@ameritech.net> (raw)
In-Reply-To: <43ACEE14.7060507@feise.com>

On Saturday 24 December 2005 01:43, Joe Feise wrote:
> [Note: please cc me on answers since I'm not subscribed to the kernel list]
> 
> I am experiencing problems with mouse resyncing in the -mm series.
> This is a Logitech wheel mouse connected through a KVM.
> Symptom: whenever the mouse isn't moved for some seconds, it doesn't
> react to movement for a second, and then resyncs. Sometimes, the
> resyncing results in the mouse pointer jumping, which as far as I
> know is a protocol mismatch.
> While searching for reports of similar problems, I came across
> Frank Sorenson's post from Nov. 23 (http://lkml.org/lkml/2005/11/23/533).
> Like in his case, reverting
> input-attempt-to-re-synchronize-mouse-every-5-seconds.patch
> resulted in a kernel without this problem.
>

Joe,

Instead of reverting input-attempt-to-re-synchronize-mouse-every-5-seconds
patch could youplease drop the patch below on top of -mm.

Jet me know if your mouse stays synchronized. Thanks!

-- 
Dmitry

 drivers/input/mouse/psmouse-base.c |   17 +++++++++++++++++
 1 file changed, 17 insertions(+)

Index: linux/drivers/input/mouse/psmouse-base.c
===================================================================
--- linux.orig/drivers/input/mouse/psmouse-base.c
+++ linux/drivers/input/mouse/psmouse-base.c
@@ -1029,6 +1029,23 @@ static int psmouse_switch_protocol(struc
 	else
 		psmouse->type = psmouse_extensions(psmouse, psmouse_max_proto, 1);
 
+	/*
+	 * If mouse's packet size is 3 there is no point in polling the
+	 * device in hopes to detect protocol reset - we won't get less
+	 * than 3 bytes response anyhow.
+	 */
+	if (psmouse->pktsize == 3)
+		psmouse->resync_time = 0;
+
+	/*
+	 * Some smart KVMs fake response to POLL command returning just
+	 * 3 bytes and messing up our resync logic, so if initial poll
+	 * fails we won't try polling the device anymore. Hopefully
+	 * such KVM will maintain initially selected protocol.
+	 */
+	if (psmouse->resync_time && psmouse->poll(psmouse))
+		psmouse->resync_time = 0;
+
 	sprintf(psmouse->devname, "%s %s %s",
 		psmouse_protocol_by_type(psmouse->type)->name, psmouse->vendor, psmouse->name);
 

  parent reply	other threads:[~2005-12-24 17:57 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-12-24  6:43 mouse issues in 2.6.15-rc5-mm series Joe Feise
2005-12-24 10:42 ` Marc Koschewski
2005-12-24 10:57   ` Frank Sorenson
2005-12-26  4:09     ` Dmitry Torokhov
2005-12-26  4:40       ` Frank Sorenson
2005-12-26  4:55         ` Dmitry Torokhov
2006-01-05  3:24         ` Dmitry Torokhov
2006-01-06  8:28           ` Frank Sorenson
2006-01-06 16:26             ` Dmitry Torokhov
2006-01-06 16:44               ` Frank Sorenson
2006-01-06 22:30             ` Frank Sorenson
2005-12-24 17:56 ` Dmitry Torokhov [this message]
2005-12-24 18:49   ` Joe Feise

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=200512241256.52189.dtor_core@ameritech.net \
    --to=dtor_core@ameritech.net \
    --cc=jfeise@feise.com \
    --cc=linux-kernel@vger.kernel.org \
    /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