1
0
Fork 0
alistair23-linux/drivers/input
Evan Green fac68e77e8 Input: atmel_mxt_ts - disable IRQ across suspend
[ Upstream commit 463fa44eec ]

Across suspend and resume, we are seeing error messages like the following:

atmel_mxt_ts i2c-PRP0001:00: __mxt_read_reg: i2c transfer failed (-121)
atmel_mxt_ts i2c-PRP0001:00: Failed to read T44 and T5 (-121)

This occurs because the driver leaves its IRQ enabled. Upon resume, there
is an IRQ pending, but the interrupt is serviced before both the driver and
the underlying I2C bus have been resumed. This causes EREMOTEIO errors.

Disable the IRQ in suspend, and re-enable it on resume. If there are cases
where the driver enters suspend with interrupts disabled, that's a bug we
should fix separately.

Signed-off-by: Evan Green <evgreen@chromium.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-01-04 19:16:29 +01:00
..
gameport treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
joystick Input: Fix memory leak in psxpad_spi_probe 2019-12-13 08:42:44 +01:00
keyboard chrome platform changes for v5.4 2019-09-19 14:14:28 -07:00
misc Input: soc_button_array - partial revert of support for newer surface devices 2019-10-08 16:45:56 -07:00
mouse Input: synaptics - switch another X1 Carbon 6 to RMI/SMbus 2019-12-13 08:42:40 +01:00
rmi4 Input: synaptics-rmi4 - don't increment rmiaddr for SMBus transfers 2019-12-13 08:42:42 +01:00
serio Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2019-09-19 14:10:54 -07:00
tablet Input: kbtab - sanity check for endpoint type 2019-08-01 10:55:21 -07:00
touchscreen Input: atmel_mxt_ts - disable IRQ across suspend 2020-01-04 19:16:29 +01:00
Kconfig treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
Makefile Input: add support for polling to input devices 2019-08-20 12:04:07 -07:00
apm-power.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
evbug.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
evdev.c Input: allow drivers specify timestamp for input events 2019-07-25 11:12:20 +03:00
ff-core.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
ff-memless.c Input: ff-memless - kill timer in destroy() 2019-11-15 11:45:03 -08:00
input-compat.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
input-compat.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
input-leds.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
input-mt.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
input-polldev.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
input-poller.c Input: add support for polling to input devices 2019-08-20 12:04:07 -07:00
input-poller.h Input: add support for polling to input devices 2019-08-20 12:04:07 -07:00
input.c Input: reset device timestamp on sync 2019-09-05 17:56:32 -07:00
joydev.c Linux 5.2 2019-07-15 09:42:32 -07:00
matrix-keymap.c Input: matrix-keymap - switch to use device_property_count_u32() 2019-08-12 00:03:13 -07:00
mousedev.c *: convert stream-like files -> stream_open, even if they use noop_llseek 2019-07-14 16:09:19 +03:00
sparse-keymap.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00