[PATCH v3 3/3] Input: ilitek_ts: ratelimit unexpected report logging
From: Kristian Mide
Date: Thu Jul 23 2026 - 11:28:40 EST
Unexpected report IDs can repeat quickly when the controller
emits unknown packets.
Use dev_err_ratelimited() and include the first 16 bytes of the
raw packet to keep dmesg usable while preserving enough context
for debugging.
Return success after logging the unexpected report ID so the IRQ
handler does not emit a second unratelimited error for the same
condition.
Signed-off-by: Kristian Mide <kristian@xxxxxxx>
---
drivers/input/touchscreen/ilitek_ts_i2c.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/input/touchscreen/ilitek_ts_i2c.c b/drivers/input/touchscreen/ilitek_ts_i2c.c
index a184d024d..2f1741d77 100644
--- a/drivers/input/touchscreen/ilitek_ts_i2c.c
+++ b/drivers/input/touchscreen/ilitek_ts_i2c.c
@@ -238,8 +238,10 @@ static int ilitek_process_and_report_v6(struct ilitek_ts_data *ts)
return ilitek_process_pen_report(ts, buf);
if (buf[0] != ILITEK_TP_I2C_REPORT_ID) {
- dev_err(dev, "get touch info failed. Wrong id: 0x%02X\n", buf[0]);
- return -EINVAL;
+ dev_err_ratelimited(dev,
+ "get touch info failed. Wrong id: 0x%02X raw[0:16]=%*ph\n",
+ buf[0], 16, buf);
+ return 0;
}
report_max_point = buf[REPORT_COUNT_ADDRESS];
--
2.54.0