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 > > Tested-by: Pali Rohár > > 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. -- Pali Rohár pali.rohar@gmail.com