linux-stable/drivers/input
Zhang Bo 89d3fccd8b Input: matrix_keypad - fix race when disabling interrupts
commit ea4f7bd2ac upstream.

If matrix_keypad_stop() is executing and the keypad interrupt is triggered,
disable_row_irqs() may be called by both matrix_keypad_interrupt() and
matrix_keypad_stop() at the same time, causing interrupts to be disabled
twice and the keypad being "stuck" after resuming.

Take lock when setting keypad->stopped to ensure that ISR will not race
with matrix_keypad_stop() disabling interrupts.

Signed-off-by: Zhang Bo <zbsdta@126.com>
Cc: stable@vger.kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-03-15 10:54:32 +01:00
..
gameport License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
joystick Input: xpad - add support for PDP Xbox One controllers 2018-01-31 14:03:42 +01:00
keyboard Input: matrix_keypad - fix race when disabling interrupts 2018-03-15 10:54:32 +01:00
misc Input: xen-kbdfront - do not advertise multi-touch pressure support 2018-03-03 10:24:32 +01:00
mouse Input: trackpoint - only expose supported controls for Elan, ALPS and NXP 2018-01-31 14:03:42 +01:00
rmi4 Input: synaptics-rmi4 - do not delete interrupt memory too early 2018-02-03 17:39:24 +01:00
serio License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
tablet License cleanup: add SPDX license identifiers to some files 2017-11-02 10:04:46 -07:00
touchscreen Input: 88pm860x-ts - fix child-node lookup 2018-01-23 19:58:16 +01:00
apm-power.c
evbug.c
evdev.c input: utilize new cdev_device_add helper function 2017-03-21 06:44:32 +01:00
ff-core.c Input: uinput - avoid FF flush when destroying device 2017-09-21 16:31:22 -07:00
ff-memless.c
input-compat.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
input-compat.h drivers/input: eliminate INPUT_COMPAT_TEST macro 2016-03-25 16:37:42 -07:00
input-leds.c
input-mt.c Input: update input_mt_report_pointer_emulation to support hovering 2016-06-01 14:21:10 -07:00
input-polldev.c
input.c Input: allow matching device IDs on property bits 2017-10-19 16:54:49 -07:00
joydev.c Input: joydev - blacklist ds3/ds4/udraw motion sensors 2017-10-19 16:55:39 -07:00
Kconfig Input: mousedev - stop offering PS/2 to userspace by default 2017-01-31 11:31:49 -08:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
matrix-keymap.c Input: matrix-keypad - switch to using generic device properties 2017-01-31 11:31:48 -08:00
mousedev.c Input: mousedev - fix implicit conversion warning 2017-07-25 13:54:31 -07:00
sparse-keymap.c Input: sparse-keymap - send sync event for KE_SW/KE_VSW 2017-11-03 12:47:48 -07:00