Commit 079e60a5 authored by Dario Binacchi's avatar Dario Binacchi Committed by Dmitry Torokhov

Input: edt-ft5x06 - unify the crc check

With this patch, the CRC is always verified by the same function, even in
the case of accessing registers where the number of bytes is minimal.
Signed-off-by: default avatarDario Binacchi <dario.binacchi@amarulasolutions.com>
Link: https://lore.kernel.org/r/20230402200951.1032513-9-dario.binacchi@amarulasolutions.comSigned-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
parent 9dfd9708
......@@ -240,13 +240,10 @@ static int edt_M06_i2c_read(void *context, const void *reg_buf, size_t reg_size,
if (!edt_ft5x06_ts_check_crc(tsdata, val_buf, val_size))
return -EIO;
} else if (reg_read) {
u8 crc = wbuf[0] ^ wbuf[1] ^ rbuf[0];
if (crc != rbuf[1]) {
dev_err(dev, "crc error: 0x%02x expected, got 0x%02x\n",
crc, rbuf[1]);
wbuf[2] = rbuf[0];
wbuf[3] = rbuf[1];
if (!edt_ft5x06_ts_check_crc(tsdata, wbuf, 4))
return -EIO;
}
*((u8 *)val_buf) = rbuf[0];
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment