linux/drivers/input
Pali Rohár fe888a904a Input: alps - ignore bad data on Dell Latitudes E6440 and E7440
commit a7ef82aee9 upstream.

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, but
instead of reporting PSMOUSE_BAD_DATA, getting into out of sync state,
getting back in sync with the next byte and spam dmesg we return
PSMOUSE_FULL_PACKET. If driver is truly out of sync we'll fail the checks
on the next byte and report PSMOUSE_BAD_DATA then.

Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
Tested-by: Pali Rohár <pali.rohar@gmail.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-11-21 09:23:03 -08:00
..
gameport Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
joystick Merge branch 'next' into for-linus 2014-01-23 08:10:44 -08:00
keyboard Input: atkbd - do not try 'deactivate' keyboard on any LG laptops 2014-10-05 14:52:19 -07:00
misc Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2014-03-28 13:03:00 -07:00
mouse Input: alps - ignore bad data on Dell Latitudes E6440 and E7440 2014-11-21 09:23:03 -08:00
serio Input: i8042 - quirks for Fujitsu Lifebook A544 and Lifebook AH544 2014-11-14 08:59:52 -08:00
tablet Input: wacom - add support for DTU-1031 2014-01-20 20:36:57 -08:00
touchscreen Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2014-01-24 17:17:30 -08:00
Kconfig Input: mousedev - allow disabling even without CONFIG_EXPERT 2013-10-31 08:46:07 -07:00
Makefile Input: matrix-keymap - uninline and prepare for device tree support 2012-05-10 22:38:47 -07:00
apm-power.c Input: random formatting fixes 2012-08-21 22:29:49 -07:00
evbug.c Input: use pr_fmt and pr_<level> 2010-11-30 23:10:26 -08:00
evdev.c Input: don't modify the id of ioctl-provided ff effect on upload failure 2014-03-29 12:13:09 -07:00
ff-core.c Input: random formatting fixes 2012-08-21 22:29:49 -07:00
ff-memless.c Input: random formatting fixes 2012-08-21 22:29:49 -07:00
input-compat.c compat: Use COMPAT_USE_64BIT_TIME in the input subsystem 2012-02-20 12:48:47 -08:00
input-compat.h compat: Use COMPAT_USE_64BIT_TIME in the input subsystem 2012-02-20 12:48:47 -08:00
input-mt.c Input: MT - handle semi-mt devices in core 2013-04-07 21:02:32 -07:00
input-polldev.c Merge commit 'v3.2-rc3' into next 2011-11-29 01:51:07 -08:00
input.c Input: fix defuzzing logic 2014-07-31 12:52:56 -07:00
joydev.c Input: fix use-after-free introduced with dynamic minor changes 2012-10-22 08:50:37 +03:00
matrix-keymap.c input: Export matrix_keypad_parse_of_params() 2013-04-19 00:31:13 +02:00
mousedev.c Input: mousedev - fix race when creating mixed device 2014-03-29 14:44:23 -07:00
sparse-keymap.c Input: random formatting fixes 2012-08-21 22:29:49 -07:00