[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220603173816.122230068@linuxfoundation.org>
Date: Fri, 3 Jun 2022 19:43:00 +0200
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: linux-kernel@...r.kernel.org
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
stable@...r.kernel.org, Dmitry Mastykin <dmastykin@...ralinux.ru>,
Bastien Nocera <hadess@...ess.net>,
Dmitry Torokhov <dmitry.torokhov@...il.com>,
Fabio Estevam <festevam@...il.com>
Subject: [PATCH 5.4 04/34] Input: goodix - fix spurious key release events
From: Dmitry Mastykin <dmastykin@...ralinux.ru>
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 <dmastykin@...ralinux.ru>
Reviewed-by: Bastien Nocera <hadess@...ess.net>
Link: https://lore.kernel.org/r/20200316075302.3759-2-dmastykin@astralinux.ru
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@...il.com>
Cc: Fabio Estevam <festevam@...il.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
---
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)
Powered by blists - more mailing lists