diff options
author | Jiri Kosina <jkosina@suse.cz> | 2014-02-18 03:43:53 -0500 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2014-02-18 03:43:53 -0500 |
commit | 0438ee7080ac83a6a831c52bc4e8c29dc2306e95 (patch) | |
tree | beaf36e342f8619bd4c56f8ab01dade59d0ad567 /drivers/hid | |
parent | a47dc4d8cfd226b3ba0bc7daffd107e4b898a165 (diff) |
HID: cp2112: fix incorrect error propagation in cp2112_xfer()
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@intel.com
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'drivers/hid')
-rw-r--r-- | 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 6d679f1840a7..1025982c7fd3 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, | |||
428 | struct hid_device *hdev = dev->hdev; | 428 | struct hid_device *hdev = dev->hdev; |
429 | u8 buf[64]; | 429 | u8 buf[64]; |
430 | __be16 word; | 430 | __be16 word; |
431 | size_t count; | 431 | ssize_t count; |
432 | size_t read_length = 0; | 432 | size_t read_length = 0; |
433 | unsigned int retries; | 433 | unsigned int retries; |
434 | int ret; | 434 | int ret; |