linux_dsm_epyc7002/drivers/input/mouse
Hans de Goede 6bcca19f5d Input: alps - fix touchpad buttons getting stuck when used with trackpoint
When the left touchpad button gets pressed, and then the trackpoint is
moved, and then the button is released, the following happens:

1) touchpad packet is received, touchpad evdev node reports BTN_LEFT 1

2) pointing stick packet is received, the hw will report a BTN_LEFT 1 in
   this packet because when the trackstick is active it communicates the
   combined touchpad + pointing stick buttons in the trackstick packet,
   since alps_report_bare_ps2_packet passes NULL (*) for the dev2 parameter
   to alps_report_buttons the combining is not detected and the
   pointing stick evdev node will also report BTN_LEFT 1

3) on release of the button a pointing stick packet with BTN_LEFT 0 is
   received and the pointing stick evdev node will report BTN_LEFT 0

Note how because of the passing as NULL for dev2 the touchpad evdev node
will never send BTN_LEFT 0 in this scenario leading to a stuck mouse button.

This is a regression in 4.0 introduced by commit 04aae283ba
("Input: ALPS - do not mix trackstick and external PS/2 mouse data")

This commit fixes this by passing in the touchpad evdev as dev2 parameter
when calling alps_report_buttons for the pointingstick on alps v2 devices,
so that alps_report_buttons correctly detect that we're already reporting
the button as pressed via the touchpad evdev node, and will also send the
release event there.

Cc: stable@vger.kernel.org # 4.0
Reported-by: Hans de Bruin <jmdebruin@xmsnet.nl>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Pali Rohár <pali.rohar@gmail.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2015-04-12 15:39:41 -07:00
..
alps.c Input: alps - fix touchpad buttons getting stuck when used with trackpoint 2015-04-12 15:39:41 -07:00
alps.h Input: ALPS - do not mix trackstick and external PS/2 mouse data 2015-02-15 15:44:19 -08:00
amimouse.c input: mouse: drop owner assignment from platform_drivers 2014-10-20 16:20:40 +02:00
appletouch.c Input: appletouch - fix jumps when additional fingers are detected 2014-03-30 23:44:17 -07:00
atarimouse.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
bcm5974.c Input: MT - add support for balanced slot assignment 2015-02-01 11:50:35 -08:00
cyapa_gen3.c Input: cyapa - fix unaligned functions redefinition error 2015-03-02 13:31:32 -08:00
cyapa_gen5.c Input: cyapa - remove superfluous type check in cyapa_gen5_read_idac_data() 2015-03-02 13:31:33 -08:00
cyapa.c Input: cyapa - off by one in cyapa_update_fw_store() 2015-01-22 08:23:15 -08:00
cyapa.h Input: cyapa - add gen5 trackpad read baseline support 2015-01-18 00:10:32 -08:00
cypress_ps2.c Input: psmouse - use IS_ENABLED instead of homegrown code 2015-02-15 16:08:35 -08:00
cypress_ps2.h Input: psmouse - use IS_ENABLED instead of homegrown code 2015-02-15 16:08:35 -08:00
elan_i2c_core.c Input: elan_i2c - verify firmware signature applying it 2015-01-23 09:44:21 -08:00
elan_i2c_i2c.c Input: elan_i2c - verify firmware signature applying it 2015-01-23 09:44:21 -08:00
elan_i2c_smbus.c Input: elan_i2c - fix wrong %p extension 2015-02-06 15:32:18 -08:00
elan_i2c.h Input: elan_i2c - verify firmware signature applying it 2015-01-23 09:44:21 -08:00
elantech.c Input: elantech - fix absolute mode setting on some ASUS laptops 2015-04-06 15:39:07 -07:00
elantech.h Input: elantech - fix absolute mode setting on some ASUS laptops 2015-04-06 15:39:07 -07:00
focaltech.c Input: psmouse - disable "palm detection" in the focaltech driver 2015-03-07 13:40:21 -08:00
focaltech.h Input: psmouse - use IS_ENABLED instead of homegrown code 2015-02-15 16:08:35 -08:00
gpio_mouse.c input: mouse: drop owner assignment from platform_drivers 2014-10-20 16:20:40 +02:00
hgpk.c Input: hgpk - use %*ph to dump small buffer 2012-09-12 21:57:13 -07:00
hgpk.h Input: psmouse - switch to using dev_*() for messages 2011-10-10 18:28:16 -07:00
inport.c Input: remove CVS keywords 2008-05-20 12:17:39 -04:00
Kconfig Input: elantech - remove stale comment from Kconfig 2015-01-22 13:16:14 -08:00
lifebook.c Input: lifebook - fix incorrect placement of __initconst 2013-08-12 22:32:38 -07:00
lifebook.h Input: lifebook - use "static inline" instead of "inline" in lifebook.h 2014-11-09 22:59:25 -08:00
logibm.c Input: remove CVS keywords 2008-05-20 12:17:39 -04:00
logips2pp.c Input: logips2pp - fix spelling s/reciver/receiver/ 2014-01-12 11:41:38 -08:00
logips2pp.h Input: psmouse - use boolean type 2009-09-10 22:11:38 -07:00
Makefile Input: cyapa - add gen5 trackpad device basic functions support 2015-01-18 00:10:28 -08:00
maplemouse.c Input: remove use of __devexit 2012-11-24 00:05:38 -08:00
navpoint.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2014-12-17 10:06:02 -08:00
pc110pad.c Input: switch to input_abs_*() access functions 2010-08-02 20:29:56 -07:00
psmouse-base.c Input: psmouse - disable changing resolution/rate/scale for FocalTech 2015-03-07 13:40:21 -08:00
psmouse.h Input: psmouse - disable changing resolution/rate/scale for FocalTech 2015-03-07 13:40:21 -08:00
pxa930_trkball.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
rpcmouse.c input: rpcmouse: use __iomem pointers for MMIO 2012-09-19 15:37:13 +02:00
sentelic.c Input: sentelic - only report position of first finger as ST coordinates 2012-12-24 09:51:21 -08:00
sentelic.h Input: sentelic - report device's production serial number 2012-05-10 20:39:04 -07:00
sermouse.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
synaptics_i2c.c Input: mouse - use __maybe_unused instead of ifdef around suspend/resume 2014-11-02 00:10:07 -07:00
synaptics_usb.c Input: add missing POINTER / DIRECT properties to a bunch of drivers 2014-09-08 14:58:12 -07:00
synaptics.c Input: synaptics - fix min-max quirk value for E440 2015-03-31 14:46:39 -07:00
synaptics.h Merge branch 'synaptics' into for-linus 2015-03-16 09:12:56 -07:00
touchkit_ps2.c Update broken web addresses in the kernel. 2010-10-18 11:03:14 +02:00
touchkit_ps2.h Input: psmouse - use boolean type 2009-09-10 22:11:38 -07:00
trackpoint.c Input: psmouse - expose drift duration for IBM trackpoints 2014-12-17 15:46:51 -08:00
trackpoint.h Input: psmouse - expose drift duration for IBM trackpoints 2014-12-17 15:46:51 -08:00
vsxxxaa.c Input: vsxxxaa - fix code dropping bytes from queue 2014-10-28 10:33:48 -07:00