summaryrefslogtreecommitdiffstats
path: root/drivers/hid/i2c-hid
diff options
context:
space:
mode:
authorBenjamin Tissoires <benjamin.tissoires@gmail.com>2012-12-04 16:27:50 +0100
committerJiri Kosina <jkosina@suse.cz>2012-12-05 11:27:54 +0100
commitc737bcf92ea206d3b5d351890f1ade9e12ad4cbe (patch)
treef5e868e36a4faeb9c74ca8a7c03790800d3f4bb9 /drivers/hid/i2c-hid
parent134ebfd86b9353a3d98f9f4e93b4e79824a4b49a (diff)
HID: i2c-hid: i2c_hid_get_report may fail
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>
Diffstat (limited to 'drivers/hid/i2c-hid')
-rw-r--r--drivers/hid/i2c-hid/i2c-hid.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/hid/i2c-hid/i2c-hid.c b/drivers/hid/i2c-hid/i2c-hid.c
index aab3357626c..c823a16f35a 100644
--- a/drivers/hid/i2c-hid/i2c-hid.c
+++ b/drivers/hid/i2c-hid/i2c-hid.c
@@ -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);