| From 469d7d22cea146e40efe8c330e5164b4d8f13934 Mon Sep 17 00:00:00 2001 |
| From: Frodo Lai <frodo.lai@gmail.com> |
| Date: Tue, 16 Jun 2015 15:03:53 -0700 |
| Subject: Input: pixcir_i2c_ts - fix receive error |
| |
| From: Frodo Lai <frodo.lai@gmail.com> |
| |
| 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> |
| |
| --- |
| drivers/input/touchscreen/pixcir_i2c_ts.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- 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 pixci |
| } |
| |
| ret = i2c_master_recv(tsdata->client, rdbuf, readsize); |
| - if (ret != sizeof(rdbuf)) { |
| + if (ret != readsize) { |
| dev_err(&tsdata->client->dev, |
| "%s: i2c_master_recv failed(), ret=%d\n", |
| __func__, ret); |