From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
To: "Pali Rohár" <pali.rohar@gmail.com>
Cc: Hans de Goede <hdegoede@redhat.com>,
Yunkang Tang <yunkang.tang@cn.alps.com>,
Tommy Will <tommywill2011@gmail.com>,
linux-input@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3 3/4] input: alps: For protocol V3, do not process data when last packet's bit7 is set
Date: Sun, 9 Nov 2014 12:34:59 -0800 [thread overview]
Message-ID: <20141109203459.GB37384@dtor-ws> (raw)
In-Reply-To: <201411091222.59595@pali>
On Sun, Nov 09, 2014 at 12:22:51PM +0100, Pali Rohár wrote:
> On Sunday 09 November 2014 08:50:39 Dmitry Torokhov wrote:
> > Hi Pali,
> >
> > On Sun, Nov 02, 2014 at 12:25:09AM +0100, Pali Rohár wrote:
> > > Sometimes on Dell Latitude laptops psmouse/alps driver
> > > receive invalid ALPS protocol V3 packets with bit7 set in
> > > last byte. More often it can be reproduced on Dell Latitude
> > > E6440 or E7440 with closed lid and pushing cover above
> > > touchpad.
> > >
> > > If bit7 in last packet byte is set then it is not valid ALPS
> > > packet. I was told that ALPS devices never send these
> > > packets. It is not know yet who send those packets, it
> > > could be Dell EC, bug in BIOS and also bug in touchpad
> > > firmware...
> > >
> > > With this patch alps driver does not process those invalid
> > > packets and drops it with PSMOUSE_FULL_PACKET so psmouse
> > > driver does not enter to out of sync state.
> > >
> > > This patch fix problem when psmouse driver still resetting
> > > ALPS device when laptop lid is closed because of receiving
> > > invalid packets in out of sync state.
> > >
> > > Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
> > > Tested-by: Pali Rohár <pali.rohar@gmail.com>
> > > Cc: stable@vger.kernel.org
> > > ---
> > >
> > > drivers/input/mouse/alps.c | 10 ++++++++++
> > > 1 file changed, 10 insertions(+)
> > >
> > > diff --git a/drivers/input/mouse/alps.c
> > > b/drivers/input/mouse/alps.c index 7c47e97..e802d28 100644
> > > --- a/drivers/input/mouse/alps.c
> > > +++ b/drivers/input/mouse/alps.c
> > > @@ -1181,6 +1181,16 @@ static psmouse_ret_t
> > > alps_process_byte(struct psmouse *psmouse)
> > >
> > > return PSMOUSE_BAD_DATA;
> > >
> > > }
> > >
> > > + if (priv->proto_version == ALPS_PROTO_V3 &&
> > > psmouse->pktcnt == psmouse->pktsize) { + // For protocol
> > > V3, do not process data when last packet's bit7 is set
> > > + if (psmouse->packet[psmouse->pktcnt - 1] & 0x80) {
> > > + psmouse_dbg(psmouse, "v3 discard packet[%i] =
> %x\n",
> > > + psmouse->pktcnt - 1,
> > > + psmouse->packet[psmouse->pktcnt - 1]);
> > > + return PSMOUSE_FULL_PACKET;
> > > + }
> > > + }
> >
> > I wanted to apply it, but I would like some more data. Could
> > you please send me the dmesg with i8042.debug wit this patch
> > in place?
> >
> > Thanks!
>
> See attachment. It contains debug log from both i8042.debug=1 and
> psmouse.ko with applied all 4 patches.
Thank you Pali.
OK, so it looks like the problematic byte is the last one and we should
be resynching right away. With your other patch increasing number of bad
packets before issuing resync this special handling is no longer needed,
right?
Thanks.
--
Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2014-11-09 20:35 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-03 9:43 [PATCH 0/3] input: alps: Fixes for ALPS driver Pali Rohár
2014-10-03 9:43 ` [PATCH 1/3] input: alps: Reset mouse before identifying it Pali Rohár
2014-10-03 9:47 ` Hans de Goede
2014-10-14 6:08 ` Dmitry Torokhov
2014-10-15 12:53 ` Pali Rohár
2014-10-15 17:43 ` Dmitry Torokhov
2014-10-15 17:57 ` Pali Rohár
2014-10-15 18:00 ` Dmitry Torokhov
2014-10-15 18:10 ` Pali Rohár
2014-10-15 18:22 ` Dmitry Torokhov
2014-10-19 11:07 ` Pali Rohár
2014-10-23 15:44 ` Dmitry Torokhov
2014-11-01 23:29 ` Pali Rohár
2014-10-03 9:43 ` [PATCH 2/3] input: alps: For protocol V3, do not process data when last packet's bit7 is set Pali Rohár
2014-10-03 9:51 ` Hans de Goede
2014-10-03 9:58 ` Pali Rohár
2014-10-03 10:01 ` Hans de Goede
2014-10-03 9:43 ` [PATCH 3/3] input: alps: Reset mouse and ALPS driver immediately after first invalid packet Pali Rohár
2014-10-03 9:55 ` Hans de Goede
2014-10-03 10:05 ` Pali Rohár
2014-10-03 10:18 ` Hans de Goede
2014-10-03 10:23 ` Pali Rohár
2014-10-03 11:03 ` Hans de Goede
2014-10-03 12:04 ` Hans de Goede
2014-11-01 23:25 ` [PATCH v3 0/4] Fixes for ALPS driver Pali Rohár
2014-11-01 23:25 ` [PATCH v3 1/4] input: alps: Do not try to parse data as 3 bytes packet when driver is out of sync Pali Rohár
2014-11-08 20:52 ` Dmitry Torokhov
2014-11-01 23:25 ` [PATCH v3 2/4] input: alps: Allow 2 invalid packets without resetting device Pali Rohár
2014-11-08 21:00 ` Dmitry Torokhov
2014-11-01 23:25 ` [PATCH v3 3/4] input: alps: For protocol V3, do not process data when last packet's bit7 is set Pali Rohár
2014-11-09 7:50 ` Dmitry Torokhov
2014-11-09 11:22 ` Pali Rohár
2014-11-09 20:34 ` Dmitry Torokhov [this message]
2014-11-10 9:18 ` Pali Rohár
2014-11-01 23:25 ` [PATCH v3 4/4] input: alps: Fix trackstick detection Pali Rohár
2014-11-09 8:05 ` Dmitry Torokhov
2014-11-09 11:30 ` Pali Rohár
2014-11-14 11:22 ` Pali Rohár
2014-11-14 19:41 ` Pali Rohár
2014-11-02 14:14 ` [PATCH v3 0/4] Fixes for ALPS driver Hans de Goede
2014-11-06 17:46 ` Pali Rohár
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=20141109203459.GB37384@dtor-ws \
--to=dmitry.torokhov@gmail.com \
--cc=hdegoede@redhat.com \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=pali.rohar@gmail.com \
--cc=tommywill2011@gmail.com \
--cc=yunkang.tang@cn.alps.com \
/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;
as well as URLs for NNTP newsgroup(s).