| From ef6eaf27274c0351f7059163918f3795da13199c Mon Sep 17 00:00:00 2001 |
| From: Jason Andryuk <jandryuk@gmail.com> |
| Date: Fri, 22 Jun 2018 12:25:49 -0400 |
| Subject: HID: i2c-hid: Fix "incomplete report" noise |
| |
| From: Jason Andryuk <jandryuk@gmail.com> |
| |
| commit ef6eaf27274c0351f7059163918f3795da13199c upstream. |
| |
| Commit ac75a041048b ("HID: i2c-hid: fix size check and type usage") started |
| writing messages when the ret_size is <= 2 from i2c_master_recv. However, my |
| device i2c-DLL07D1 returns 2 for a short period of time (~0.5s) after I stop |
| moving the pointing stick or touchpad. It varies, but you get ~50 messages |
| each time which spams the log hard. |
| |
| [ 95.925055] i2c_hid i2c-DLL07D1:01: i2c_hid_get_input: incomplete report (83/2) |
| |
| This has also been observed with a i2c-ALP0017. |
| |
| [ 1781.266353] i2c_hid i2c-ALP0017:00: i2c_hid_get_input: incomplete report (30/2) |
| |
| Only print the message when ret_size is totally invalid and less than 2 to cut |
| down on the log spam. |
| |
| Fixes: ac75a041048b ("HID: i2c-hid: fix size check and type usage") |
| Reported-by: John Smith <john-s-84@gmx.net> |
| Cc: stable@vger.kernel.org |
| Signed-off-by: Jason Andryuk <jandryuk@gmail.com> |
| Signed-off-by: Jiri Kosina <jkosina@suse.cz> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/hid/i2c-hid/i2c-hid.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/drivers/hid/i2c-hid/i2c-hid.c |
| +++ b/drivers/hid/i2c-hid/i2c-hid.c |
| @@ -413,7 +413,7 @@ static void i2c_hid_get_input(struct i2c |
| return; |
| } |
| |
| - if ((ret_size > size) || (ret_size <= 2)) { |
| + if ((ret_size > size) || (ret_size < 2)) { |
| dev_err(&ihid->client->dev, "%s: incomplete report (%d/%d)\n", |
| __func__, size, ret_size); |
| return; |