Input: ili210x - fix ili251x_read_touch_data() return value
[ Upstream commit 9f0fad0382124e7e23b3c730fa78818c22c89c0a ]
The caller of this function treats all non-zero values as an error, so
the return value of i2c_master_recv() cannot be returned directly.
This fixes touch reporting when there are more than 6 active touches.
Fixes: ef536abd3a
("Input: ili210x - define and use chip operations structure")
Signed-off-by: John Keeping <jkeeping@inmusicbrands.com>
Link: https://lore.kernel.org/r/20240523085624.2295988-1-jkeeping@inmusicbrands.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
f0ef5ca85f
commit
b6be2b025c
@@ -231,8 +231,8 @@ static int ili251x_read_touch_data(struct i2c_client *client, u8 *data)
|
||||
if (!error && data[0] == 2) {
|
||||
error = i2c_master_recv(client, data + ILI251X_DATA_SIZE1,
|
||||
ILI251X_DATA_SIZE2);
|
||||
if (error >= 0 && error != ILI251X_DATA_SIZE2)
|
||||
error = -EIO;
|
||||
if (error >= 0)
|
||||
error = error == ILI251X_DATA_SIZE2 ? 0 : -EIO;
|
||||
}
|
||||
|
||||
return error;
|
||||
|
Reference in New Issue
Block a user