Both cp2112_read_req() and cp2112_write_req() are returning negative value in cases of error, but cp2112_xfer() is storing the return value into unsigned size_t-typed 'count'. Fix this by making 'count' signed type. Reported-by: fengguang.wu@xxxxxxxxx Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> --- drivers/hid/hid-cp2112.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/hid/hid-cp2112.c b/drivers/hid/hid-cp2112.c index 6d679f1..1025982 100644 --- a/drivers/hid/hid-cp2112.c +++ b/drivers/hid/hid-cp2112.c @@ -428,7 +428,7 @@ static int cp2112_xfer(struct i2c_adapter *adap, u16 addr, struct hid_device *hdev = dev->hdev; u8 buf[64]; __be16 word; - size_t count; + ssize_t count; size_t read_length = 0; unsigned int retries; int ret; -- Jiri Kosina SUSE Labs -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html