diff options
author | Yen-Chao Chen <davidycchen@google.com> | 2023-08-09 09:59:37 +0800 |
---|---|---|
committer | Super Liu <supercjliu@google.com> | 2023-09-20 08:46:56 +0000 |
commit | c3e90e2c6e1d20dad416213e13765cdac94cd0ac (patch) | |
tree | d315b3b4461ae32848863750e1410749c421bdba | |
parent | 71d4428c99d88f80628cf2afe9799332e89024aa (diff) | |
download | felix-c3e90e2c6e1d20dad416213e13765cdac94cd0ac.tar.gz |
Skip handling invalid event typesandroid-u-qpr1-beta-2.2_r0.6android-u-qpr1-beta-2.2_r0.5android-u-qpr1-beta-2.2_r0.4android-u-qpr1-beta-2.2_r0.3android-u-qpr1-beta-2.2_r0.2android-u-qpr1-beta-2.2_r0.1android-u-qpr1-beta-2.1_r0.7android-u-qpr1-beta-2.1_r0.5android-u-qpr1-beta-2.1_r0.4android-u-qpr1-beta-2.1_r0.3android-u-qpr1-beta-2.1_r0.2android-u-qpr1-beta-2.1_r0.1android-14.0.0_r0.44android-14.0.0_r0.43android-14.0.0_r0.42android-14.0.0_r0.41android-14.0.0_r0.40android-14.0.0_r0.39android-14.0.0_r0.37android-14.0.0_r0.36android-14.0.0_r0.35android-14.0.0_r0.34android-14.0.0_r0.33android-14.0.0_r0.31android-14.0.0_r0.25android-14.0.0_r0.23android-14.0.0_r0.22android-14.0.0_r0.21android-14.0.0_r0.19android-gs-tangorpro-5.10-u-qpr1-beta2android-gs-tangorpro-5.10-android14-qpr1-betaandroid-gs-tangorpro-5.10-android14-qpr1android-gs-raviole-5.10-u-qpr1-beta2android-gs-raviole-5.10-android14-qpr1-betaandroid-gs-raviole-5.10-android14-qpr1android-gs-pantah-5.10-u-qpr1-beta2android-gs-pantah-5.10-android14-qpr1-betaandroid-gs-pantah-5.10-android14-qpr1android-gs-lynx-5.10-u-qpr1-beta2android-gs-lynx-5.10-android14-qpr1-betaandroid-gs-lynx-5.10-android14-qpr1android-gs-felix-5.10-u-qpr1-beta2android-gs-felix-5.10-android14-qpr1-betaandroid-gs-felix-5.10-android14-qpr1android-gs-bluejay-5.10-u-qpr1-beta2android-gs-bluejay-5.10-android14-qpr1-betaandroid-gs-bluejay-5.10-android14-qpr1
Bug: 293907307
Test: Touch works normally.
Change-Id: I73439b102ac6d6a347767b314f56fff87ba69daf
Signed-off-by: Yen-Chao Chen <davidycchen@google.com>
-rw-r--r-- | touch/ftm5/fts.c | 5 | ||||
-rw-r--r-- | touch/ftm5/fts_lib/ftsSoftware.h | 1 |
2 files changed, 6 insertions, 0 deletions
diff --git a/touch/ftm5/fts.c b/touch/ftm5/fts.c index 38801ab..daf8863 100644 --- a/touch/ftm5/fts.c +++ b/touch/ftm5/fts.c @@ -3877,6 +3877,11 @@ static irqreturn_t fts_interrupt_handler(int irq, void *handle) for (count = 0; count < events_remaining + 1; count++) { evt_data = &data[count * FIFO_EVENT_SIZE]; + if (!VALID_EVENT_TYPE(evt_data[0])) { + dev_err(info->dev, "Got invalid event type: %*ph\n", 8, evt_data); + goto exit; + } + switch (GET_EVENT_TYPE(evt_data[0])) { case EVT_ID_CONTROLLER_READY: case EVT_ID_ERROR: diff --git a/touch/ftm5/fts_lib/ftsSoftware.h b/touch/ftm5/fts_lib/ftsSoftware.h index 14e45e8..8090bc0 100644 --- a/touch/ftm5/fts_lib/ftsSoftware.h +++ b/touch/ftm5/fts_lib/ftsSoftware.h @@ -375,6 +375,7 @@ enum { /** @}*/ /* bit2 and bit3 are for major data so skip it. */ #define GET_EVENT_TYPE(event_data) (event_data & 0xF3) +#define VALID_EVENT_TYPE(event_data) ((event_data & 0x03) == 0x03) /* EVENT ID */ /** @defgroup events_group FW Event IDs and Types * Event IDs and Types pushed by the FW into the FIFO |