summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorJiri Kosina <jkosina@suse.cz>2014-02-18 09:43:53 +0100
committerJiri Kosina <jkosina@suse.cz>2014-02-18 09:43:53 +0100
commit0438ee7080ac83a6a831c52bc4e8c29dc2306e95 (patch)
treebeaf36e342f8619bd4c56f8ab01dade59d0ad567 /drivers
parenta47dc4d8cfd226b3ba0bc7daffd107e4b898a165 (diff)
downloadlinux-0438ee7080ac83a6a831c52bc4e8c29dc2306e95.tar.gz
linux-0438ee7080ac83a6a831c52bc4e8c29dc2306e95.tar.bz2
linux-0438ee7080ac83a6a831c52bc4e8c29dc2306e95.zip
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')
-rw-r--r--drivers/hid/hid-cp2112.c2
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,
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;