linux-imx/drivers/input
Zhang Bo 37ecb938a4 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>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
2018-06-01 00:30:14 +01:00
..
gameport i8253: Create linux/i8253.h and use it in all 8253 related files 2011-06-09 15:01:37 +02:00
joystick Input: xpad - validate USB endpoint type during probe 2017-11-26 13:51:09 +00:00
keyboard Input: matrix_keypad - fix race when disabling interrupts 2018-06-01 00:30:14 +01:00
misc Input: adxl34x - do not treat FIFO_MODE() as boolean 2018-02-13 18:32:07 +00:00
mouse Input: trackpoint - force 3 buttons if 0 button is reported 2018-03-03 15:51:02 +00:00
serio Input: i8042 - add Gigabyte P57 to the keyboard reset table 2017-11-26 13:51:10 +00:00
tablet Input: gtco - fix potential out-of-bound access 2017-11-26 13:51:11 +00:00
touchscreen Input: wacom_w8001 - w8001_MAX_LENGTH should be 13 2016-08-22 22:37:16 +01:00
apm-power.c Input: use pr_fmt and pr_<level> 2010-11-30 23:10:26 -08:00
evbug.c Input: use pr_fmt and pr_<level> 2010-11-30 23:10:26 -08:00
evdev.c Input: evdev - do not report errors form flush() 2015-10-13 03:46:08 +01:00
ff-core.c Input: uinput - avoid FF flush when destroying device 2018-01-01 20:50:50 +00:00
ff-memless.c Input: use pr_fmt and pr_<level> 2010-11-30 23:10:26 -08:00
fixp-arith.h
input-compat.c drivers/input: add export.h to symbol exporting files. 2011-10-31 19:31:16 -04:00
input-compat.h arch/tile: finish enabling support for TILE-Gx 64-bit chip 2011-05-12 15:52:12 -04:00
input-mt.c drivers/input: add export.h to symbol exporting files. 2011-10-31 19:31:16 -04:00
input-polldev.c drivers/input: Add module.h to modular drivers implicitly using it 2011-10-31 19:31:16 -04:00
input.c Input: properly assign return value of clamp() macro. 2011-05-25 09:24:58 -07:00
joydev.c Input: remove useless synchronize_rcu() calls 2011-05-12 08:28:57 -07:00
Kconfig um: switch to use of drivers/Kconfig 2011-11-02 14:15:41 +01:00
Makefile Input: xen-kbdfront - move to drivers/input/misc 2011-03-16 23:26:01 -07:00
mousedev.c Input: properly assign return value of clamp() macro. 2011-05-25 09:24:58 -07:00
sparse-keymap.c drivers/input: Add module.h to modular drivers implicitly using it 2011-10-31 19:31:16 -04:00