diff options
author | Frodo Lai <frodo.lai@gmail.com> | 2015-06-16 18:03:53 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-07-21 13:10:06 -0400 |
commit | 7890602ea4fa5793f5ecad24bcca0049fa7ca06d (patch) | |
tree | 0b9141c7a4419e9b95b629baa66de3691e7436c7 /drivers/input/touchscreen | |
parent | d389ad7c0e6c02efaa3fe7992efb2452022e4b63 (diff) |
Input: pixcir_i2c_ts - fix receive error
commit 469d7d22cea146e40efe8c330e5164b4d8f13934 upstream.
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: 36874c7e219 ("Input: pixcir_i2c_ts - support up to 5 fingers and
hardware tracking IDs:)
Signed-off-by: Frodo Lai <frodo_lai@bcmcom.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/input/touchscreen')
-rw-r--r-- | drivers/input/touchscreen/pixcir_i2c_ts.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/input/touchscreen/pixcir_i2c_ts.c b/drivers/input/touchscreen/pixcir_i2c_ts.c index 2c2107147319..8f3e243a62bf 100644 --- a/drivers/input/touchscreen/pixcir_i2c_ts.c +++ b/drivers/input/touchscreen/pixcir_i2c_ts.c | |||
@@ -78,7 +78,7 @@ static void pixcir_ts_parse(struct pixcir_i2c_ts_data *tsdata, | |||
78 | } | 78 | } |
79 | 79 | ||
80 | ret = i2c_master_recv(tsdata->client, rdbuf, readsize); | 80 | ret = i2c_master_recv(tsdata->client, rdbuf, readsize); |
81 | if (ret != sizeof(rdbuf)) { | 81 | if (ret != readsize) { |
82 | dev_err(&tsdata->client->dev, | 82 | dev_err(&tsdata->client->dev, |
83 | "%s: i2c_master_recv failed(), ret=%d\n", | 83 | "%s: i2c_master_recv failed(), ret=%d\n", |
84 | __func__, ret); | 84 | __func__, ret); |