OSDN Git Service

Input: goodix - fix spurious key release events
authorDmitry Mastykin <dmastykin@astralinux.ru>
Tue, 24 Mar 2020 18:38:28 +0000 (11:38 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Tue, 24 Mar 2020 22:08:36 +0000 (15:08 -0700)
commit24ef83f6e31d20fc121a7cd732b04b498475fca3
treec30ffc60ce36d49443f3051e37bec61a37228eef
parent9e1f2d70ec3998e6d9948f8ac616db21fa4243d5
Input: goodix - fix spurious key release events

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@astralinux.ru>
Reviewed-by: Bastien Nocera <hadess@hadess.net>
Link: https://lore.kernel.org/r/20200316075302.3759-2-dmastykin@astralinux.ru
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/touchscreen/goodix.c