On Tue, 16 Dec 2008 11:45:09 -0800 Deepak Saxena <dsaxena@xxxxxxxxxx> 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. > Signed-off-by: Paul Fox <pgf@xxxxxxxxxx> > Signed-off-by: Deepak Saxena <dsaxena@xxxxxxxxxx> > --- > 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? > @@ -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); > -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html