HID: i2c-hid: i2c_hid_get_report may fail
authorBenjamin Tissoires <benjamin.tissoires@gmail.com>
Tue, 4 Dec 2012 15:27:50 +0000 (16:27 +0100)
committerJiri Kosina <jkosina@suse.cz>
Wed, 5 Dec 2012 10:27:54 +0000 (11:27 +0100)
If i2c_hid_get_report fails, exit i2c_hid_init_report.
The printk log is already called by i2c_hid_get_report, so no need
to add some more printks.

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
Reviewed-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/i2c-hid/i2c-hid.c

index aab3357626c7865bf82a1353628a9e413912a154..c823a16f35acedf4e75a81ecd1dc3b31ab9ded1c 100644 (file)
@@ -399,9 +399,10 @@ static void i2c_hid_init_report(struct hid_report *report, u8 *buffer,
        unsigned int size, ret_size;
 
        size = i2c_hid_get_report_length(report);
-       i2c_hid_get_report(client,
+       if (i2c_hid_get_report(client,
                        report->type == HID_FEATURE_REPORT ? 0x03 : 0x01,
-                       report->id, buffer, size);
+                       report->id, buffer, size))
+               return;
 
        i2c_hid_dbg(ihid, "report (len=%d): %*ph\n", size, size, ihid->inbuf);