[PATCH 1/1] HID: i2c-hid: Fix "incomplete report" noise

Kai-Heng Feng kai.heng.feng at canonical.com
Mon Nov 12 02:53:43 UTC 2018

From: Jason Andryuk <jandryuk at gmail.com>

BugLink: https://bugs.launchpad.net/bugs/1802813

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 at gmx.net>
Cc: stable at vger.kernel.org
Signed-off-by: Jason Andryuk <jandryuk at gmail.com>
Signed-off-by: Jiri Kosina <jkosina at suse.cz>
(cherry picked from commit ef6eaf27274c0351f7059163918f3795da13199c)
Signed-off-by: Kai-Heng Feng <kai.heng.feng at canonical.com>
 drivers/hid/i2c-hid/i2c-hid.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/hid/i2c-hid/i2c-hid.c b/drivers/hid/i2c-hid/i2c-hid.c
index 46037a692384..48e155ee2e39 100644
--- a/drivers/hid/i2c-hid/i2c-hid.c
+++ b/drivers/hid/i2c-hid/i2c-hid.c
@@ -484,7 +484,7 @@ static void i2c_hid_get_input(struct i2c_hid *ihid)
-	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);

More information about the kernel-team mailing list