Commit 469d7d22 authored by Frodo Lai's avatar Frodo Lai Committed by Dmitry Torokhov

Input: pixcir_i2c_ts - fix receive error

The i2c_master_recv() uses readsize to receive data from i2c but compares
to size of rdbuf which is always 27. This would cause problem when the
max_fingers is not 5. Change the comparison value to readsize instead.

Fixes: 36874c7e ("Input: pixcir_i2c_ts - support up to 5 fingers and
hardware tracking IDs:)

Cc: stable@vger.kernel.org
Signed-off-by: default avatarFrodo Lai <frodo_lai@bcmcom.com>
Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
parent 7f2ca8b5
...@@ -78,7 +78,7 @@ static void pixcir_ts_parse(struct pixcir_i2c_ts_data *tsdata, ...@@ -78,7 +78,7 @@ static void pixcir_ts_parse(struct pixcir_i2c_ts_data *tsdata,
} }
ret = i2c_master_recv(tsdata->client, rdbuf, readsize); ret = i2c_master_recv(tsdata->client, rdbuf, readsize);
if (ret != sizeof(rdbuf)) { if (ret != readsize) {
dev_err(&tsdata->client->dev, dev_err(&tsdata->client->dev,
"%s: i2c_master_recv failed(), ret=%d\n", "%s: i2c_master_recv failed(), ret=%d\n",
__func__, ret); __func__, ret);
......
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