diff options
author | Hans de Goede <hdegoede@redhat.com> | 2017-05-27 01:09:48 +0200 |
---|---|---|
committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2017-05-30 04:58:25 +0200 |
commit | 1943d1723e7a7ee1a7b9b0ba4878dde0dc100671 (patch) | |
tree | 5a9a685b9d065adc0c9f807604cc4aa2064cce9a /drivers/input/touchscreen/silead.c | |
parent | Input: elan_i2c - ignore signals when finishing updating firmware (diff) | |
download | linux-1943d1723e7a7ee1a7b9b0ba4878dde0dc100671.tar.xz linux-1943d1723e7a7ee1a7b9b0ba4878dde0dc100671.zip |
Input: silead - disable interrupt during suspend
When we put the touchscreen controller in low-power mode the irq
pin may trigger (float) and if we then try to read a data packet we
get the following error in dmesg:
[ 478.801017] silead_ts i2c-MSSL1680:00: Data read error -121
This commit disables the irq during suspend/resume fixing this error.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Diffstat (limited to 'drivers/input/touchscreen/silead.c')
-rw-r--r-- | drivers/input/touchscreen/silead.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/input/touchscreen/silead.c b/drivers/input/touchscreen/silead.c index 813dd68a5c82..0dbcf105f7db 100644 --- a/drivers/input/touchscreen/silead.c +++ b/drivers/input/touchscreen/silead.c @@ -526,6 +526,7 @@ static int __maybe_unused silead_ts_suspend(struct device *dev) { struct i2c_client *client = to_i2c_client(dev); + disable_irq(client->irq); silead_ts_set_power(client, SILEAD_POWER_OFF); return 0; } @@ -551,6 +552,8 @@ static int __maybe_unused silead_ts_resume(struct device *dev) return -ENODEV; } + enable_irq(client->irq); + return 0; } |