HID: cp2112: fix incorrect error propagation in cp2112_xfer()
authorJiri Kosina <jkosina@suse.cz>
Tue, 18 Feb 2014 08:43:53 +0000 (09:43 +0100)
committerJiri Kosina <jkosina@suse.cz>
Tue, 18 Feb 2014 08:43:53 +0000 (09:43 +0100)
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>
drivers/hid/hid-cp2112.c

index 6d679f1840a750f93bf69446b285fc68f350e6df..1025982c7fd3c53953f725bbc4a5e15eae17e32f 100644 (file)
@@ -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;