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@xxxxxxxxx> --- drivers/hid/i2c-hid/i2c-hid.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/hid/i2c-hid/i2c-hid.c b/drivers/hid/i2c-hid/i2c-hid.c index da04948..dcacfc4 100644 --- a/drivers/hid/i2c-hid/i2c-hid.c +++ b/drivers/hid/i2c-hid/i2c-hid.c @@ -400,9 +400,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); -- 1.8.0.1 -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html