mirror of
https://github.com/nxp-imx/linux-imx.git
synced 2025-07-07 18:05:21 +02:00
Input: ilitek_ts_i2c - add report id message validation
[ Upstream commit208989744a
] Ensure that the touchscreen response has correct "report id" byte before processing the touch data and discard other messages. Fixes:42370681bd
("Input: Add support for ILITEK Lego Series") Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com> Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com> Link: https://lore.kernel.org/r/20240805085511.43955-3-francesco@dolcini.it Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
831886bf1a
commit
075a0ce1fa
|
@ -37,6 +37,8 @@
|
|||
#define ILITEK_TP_CMD_GET_MCU_VER 0x61
|
||||
#define ILITEK_TP_CMD_GET_IC_MODE 0xC0
|
||||
|
||||
#define ILITEK_TP_I2C_REPORT_ID 0x48
|
||||
|
||||
#define REPORT_COUNT_ADDRESS 61
|
||||
#define ILITEK_SUPPORT_MAX_POINT 40
|
||||
|
||||
|
@ -163,6 +165,11 @@ static int ilitek_process_and_report_v6(struct ilitek_ts_data *ts)
|
|||
return error;
|
||||
}
|
||||
|
||||
if (buf[0] != ILITEK_TP_I2C_REPORT_ID) {
|
||||
dev_err(dev, "get touch info failed. Wrong id: 0x%02X\n", buf[0]);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
report_max_point = buf[REPORT_COUNT_ADDRESS];
|
||||
if (report_max_point > ts->max_tp) {
|
||||
dev_err(dev, "FW report max point:%d > panel info. max:%d\n",
|
||||
|
|
Loading…
Reference in New Issue
Block a user