Thread (3 messages) 3 messages, 3 authors, 2008-12-16

Re: [PATCH 2/2] Recover from failed recalibration for OLPC touchpad

From: Andres Salomon <hidden>
Date: 2008-12-16 19:53:37

On Tue, 16 Dec 2008 11:45:09 -0800
Deepak Saxena [off-list ref] wrote:
Sometimes the the HPGK touchpad will fail to properly respond
to a ps2_command() during recalibration. This patch works around
that issue be scheduling another recalibration if this happens.

This solves http://dev.laptop.org/ticket/9008
The bug lacks details regarding testing, see below.

quoted hunk ↗ jump to hunk
Signed-off-by: Paul Fox <redacted>
Signed-off-by: Deepak Saxena <redacted>
---
 drivers/input/mouse/hgpk.c |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)
diff --git a/drivers/input/mouse/hgpk.c b/drivers/input/mouse/hgpk.c
index 39cce65..9548e1c 100644
--- a/drivers/input/mouse/hgpk.c
+++ b/drivers/input/mouse/hgpk.c
@@ -233,6 +233,9 @@ static int hgpk_force_recalibrate(struct psmouse
*psmouse) ps2_command(ps2dev, NULL, 0xf5) ||
 	    ps2_command(ps2dev, NULL, 0xe6) ||
 	    ps2_command(ps2dev, NULL, 0xf5)) {
+ 		psmouse_set_state(psmouse, PSMOUSE_ACTIVATED);
+ 		psmouse_queue_work(psmouse, &priv->recalib_wq,
+				   msecs_to_jiffies(500));
 		return -1;
 	}
 
Do we know why the ps2 commands are failing?  Do we really want to keep
trying to recalibrate if something's screwy with ps2, rather than (say)
completely reinitializing the driver?

Paul, did you manage to reproduce the problem with this patch applied?

quoted hunk ↗ jump to hunk
@@ -245,8 +248,12 @@ static int hgpk_force_recalibrate(struct psmouse
*psmouse)
 	 * (below) is our best option for now.
 	 */
 
-	if (ps2_command(ps2dev, NULL, PSMOUSE_CMD_ENABLE))
+	if (ps2_command(ps2dev, NULL, PSMOUSE_CMD_ENABLE)) {
+		psmouse_set_state(psmouse, PSMOUSE_ACTIVATED);
+		psmouse_queue_work(psmouse, &priv->recalib_wq,
+				   msecs_to_jiffies(500));
 		return -1;
+	}
 
 	psmouse_set_state(psmouse, PSMOUSE_ACTIVATED);
 
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help