linux/drivers/input/serio
Ondrej Zary fca6ca5c30 Input: i8042 - enable MUX on Sony VAIO VGN-CS series to fix touchpad
commit 04bb1719c4 upstream.

The touch sensor buttons on Sony VAIO VGN-CS series laptops (e.g.
VGN-CS31S) are a separate PS/2 device. As the MUX is disabled for all
VAIO machines by the nomux blacklist, the data from touch sensor
buttons and touchpad are combined. The protocol used by the buttons is
probably similar to the touchpad protocol (both are Synaptics) so both
devices get enabled. The controller combines the data, creating a mess
which results in random button clicks, touchpad stopping working and
lost sync error messages:
psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 4
psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 1
psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 1
psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 1
psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 1
psmouse serio1: issuing reconnect request

Add a new i8042_dmi_forcemux_table whitelist with VGN-CS.
With MUX enabled, touch sensor buttons are detected as separate device
(and left disabled as there's currently no driver), fixing all touchpad
problems.

Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
Cc: stable@vger.kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-08 11:52:00 +02:00
..
altera_ps2.c
ambakmi.c Input: ambakmi - fix system PM by converting to modern callbacks 2015-07-16 10:36:08 -07:00
ams_delta_serio.c
apbps2.c
arc_ps2.c
at32psif.c
ct82c710.c
gscps2.c Input: gscps2 - drop pci_ids dependency 2015-04-06 09:38:08 -07:00
hil_mlc.c
hp_sdc_mlc.c
hp_sdc.c
hyperv-keyboard.c
i8042-io.h Input: i8042 - skip selftest on ASUS laptops 2016-10-28 03:01:31 -04:00
i8042-ip22io.h Input: i8042 - skip selftest on ASUS laptops 2016-10-28 03:01:31 -04:00
i8042-jazzio.h
i8042-ppcio.h Input: i8042 - skip selftest on ASUS laptops 2016-10-28 03:01:31 -04:00
i8042-snirm.h
i8042-sparcio.h Input: i8042 - skip selftest on ASUS laptops 2016-10-28 03:01:31 -04:00
i8042-unicore32io.h Input: i8042 - skip selftest on ASUS laptops 2016-10-28 03:01:31 -04:00
i8042-x86ia64io.h Input: i8042 - enable MUX on Sony VAIO VGN-CS series to fix touchpad 2018-04-08 11:52:00 +02:00
i8042.c Input: i8042 - fix crash at boot time 2017-07-27 15:06:08 -07:00
i8042.h Input: i8042 - add unmask_kbd_data option 2015-07-16 10:30:55 -07:00
Kconfig Input: add userio module 2015-10-27 18:55:31 -07:00
libps2.c Input: i8042 - break load dependency between atkbd/psmouse and i8042 2016-09-07 08:32:44 +02:00
maceps2.c
Makefile Input: add userio module 2015-10-27 18:55:31 -07:00
olpc_apsp.c
parkbd.c Input: parkbd - clear unused function pointers 2015-11-17 10:00:16 -08:00
pcips2.c
ps2mult.c
q40kbd.c
rpckbd.c
sa1111ps2.c
serio_raw.c
serio.c Input: i8042 - add unmask_kbd_data option 2015-07-16 10:30:55 -07:00
serport.c tty: remove buf parameter from tty_name() 2015-05-06 22:26:57 +02:00
sun4i-ps2.c
userio.c Input: add userio module 2015-10-27 18:55:31 -07:00
xilinx_ps2.c