aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/extcon
diff options
context:
space:
mode:
authorAnthony Martin <ality@pbrane.org>2017-08-28 10:26:12 -0700
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2017-08-28 10:36:46 -0700
commit3f9db52dc87b003a1732f3e03f7f5fc8701ef4ad (patch)
tree766314d2b21823d76deda7781e3771eee83ff487 /drivers/extcon
parentInput: ALPS - fix two-finger scroll breakage in right side on ALPS touchpad (diff)
downloadlinux-dev-3f9db52dc87b003a1732f3e03f7f5fc8701ef4ad.tar.xz
linux-dev-3f9db52dc87b003a1732f3e03f7f5fc8701ef4ad.zip
Input: synaptics - fix device info appearing different on reconnect
User-modified input settings no longer survive a suspend/resume cycle. Starting with 4.12, the touchpad is reinitialized on every reconnect because the hardware appears to be different. This can be reproduced by running the following as root: echo -n reconnect >/sys/devices/platform/i8042/serio1/drvctl A line like the following will show up in dmesg: [30378.295794] psmouse serio1: synaptics: hardware appears to be different: id(149271-149271), model(114865-114865), caps(d047b3-d047b1), ext(b40000-b40000). Note the single bit difference in caps: bit 1 (SYN_CAP_MULTIFINGER). This happens because we modify our stored copy of the device info capabilities when we enable advanced gesture mode but this change is not reflected in the actual hardware capabilities. It worked in the past because synaptics_query_hardware used to modify the stored synaptics_device_info struct instead of filling in a new one, as it does now. Fix it by no longer faking the SYN_CAP_MULTIFINGER bit when setting advanced gesture mode. This necessitated a small refactoring. Fixes: 6c53694fb222 ("Input: synaptics - split device info into a separate structure") Signed-off-by: Anthony Martin <ality@pbrane.org> Cc: stable@vger.kernel.org Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Diffstat (limited to 'drivers/extcon')
0 files changed, 0 insertions, 0 deletions