Commit 9f0fad03 authored by John Keeping's avatar John Keeping Committed by Dmitry Torokhov
Browse files

Input: ili210x - fix ili251x_read_touch_data() return value



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: ef536abd ("Input: ili210x - define and use chip operations structure")
Signed-off-by: default avatarJohn Keeping <jkeeping@inmusicbrands.com>
Link: https://lore.kernel.org/r/20240523085624.2295988-1-jkeeping@inmusicbrands.com


Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
parent 955af635
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -261,8 +261,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;