From e1c7486a22f78ef7fd8cb805d81d6f5877c6e51b Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Thu, 26 May 2022 14:15:58 +0200 Subject: [PATCH] 5.4-stable patches added patches: input-goodix-fix-spurious-key-release-events.patch --- ...odix-fix-spurious-key-release-events.patch | 39 +++++++++++++++++++ queue-5.4/series | 1 + 2 files changed, 40 insertions(+) create mode 100644 queue-5.4/input-goodix-fix-spurious-key-release-events.patch diff --git a/queue-5.4/input-goodix-fix-spurious-key-release-events.patch b/queue-5.4/input-goodix-fix-spurious-key-release-events.patch new file mode 100644 index 00000000000..5ece8043053 --- /dev/null +++ b/queue-5.4/input-goodix-fix-spurious-key-release-events.patch @@ -0,0 +1,39 @@ +From 24ef83f6e31d20fc121a7cd732b04b498475fca3 Mon Sep 17 00:00:00 2001 +From: Dmitry Mastykin +Date: Tue, 24 Mar 2020 11:38:28 -0700 +Subject: Input: goodix - fix spurious key release events + +From: Dmitry Mastykin + +commit 24ef83f6e31d20fc121a7cd732b04b498475fca3 upstream. + +The goodix panel sends spurious interrupts after a 'finger up' event, +which always cause a timeout. +We were exiting the interrupt handler by reporting touch_num == 0, but +this was still processed as valid and caused the code to use the +uninitialised point_data, creating spurious key release events. + +Report an error from the interrupt handler so as to avoid processing +invalid point_data further. + +Signed-off-by: Dmitry Mastykin +Reviewed-by: Bastien Nocera +Link: https://lore.kernel.org/r/20200316075302.3759-2-dmastykin@astralinux.ru +Signed-off-by: Dmitry Torokhov +Cc: Fabio Estevam +Signed-off-by: Greg Kroah-Hartman +--- + drivers/input/touchscreen/goodix.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/input/touchscreen/goodix.c ++++ b/drivers/input/touchscreen/goodix.c +@@ -335,7 +335,7 @@ static int goodix_ts_read_input_report(s + * The Goodix panel will send spurious interrupts after a + * 'finger up' event, which will always cause a timeout. + */ +- return 0; ++ return -ENOMSG; + } + + static void goodix_ts_report_touch_8b(struct goodix_ts_data *ts, u8 *coor_data) diff --git a/queue-5.4/series b/queue-5.4/series index ee009fa0f09..90f5a5c8d35 100644 --- a/queue-5.4/series +++ b/queue-5.4/series @@ -1,3 +1,4 @@ lockdown-also-lock-down-previous-kgdb-use.patch x86-pci-xen-disable-pci-msi-masking-for-xen_hvm-guests.patch staging-rtl8723bs-prevent-ssid-overflow-in-rtw_wx_set_scan.patch +input-goodix-fix-spurious-key-release-events.patch -- 2.47.3