Hi,
On 3/12/20 3:50 PM, Dmitry Mastykin wrote:
The goodix panel sends spurious interrupts after a 'finger up' event,
which always cause a timeout.
The timeout was reported as touch_num == 0 and caused reading of
not ready buffer and false key release event.
In this patch the timeout is reported as ENOMSG and not processed.
Signed-off-by: Dmitry Mastykin <dmastykin@xxxxxxxxxxxxx>
Patch looks good to me:
Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Regards,
Hans
---
Changes in v2:
- Improve commit message
---
drivers/input/touchscreen/goodix.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/input/touchscreen/goodix.c b/drivers/input/touchscreen/goodix.c
index daf1781..0e14719 100644
--- a/drivers/input/touchscreen/goodix.c
+++ b/drivers/input/touchscreen/goodix.c
@@ -329,7 +329,7 @@ static int goodix_ts_read_input_report(struct goodix_ts_data *ts, u8 *data)
* 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)