From ecf47ab9c5ca1427baea7ab6d3226502d967f19d Mon Sep 17 00:00:00 2001 From: Johan Hovold Date: Fri, 27 Mar 2015 12:45:45 +0100 Subject: [PATCH] greybus: hid: fix success response being sent on errors Make sure to only send a success response if we did not detect any errors. Signed-off-by: Johan Hovold Reviewed-by: Alex Elder Signed-off-by: Greg Kroah-Hartman --- drivers/staging/greybus/hid.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/staging/greybus/hid.c b/drivers/staging/greybus/hid.c index 9734c7b35cc2..f0da387476b8 100644 --- a/drivers/staging/greybus/hid.c +++ b/drivers/staging/greybus/hid.c @@ -163,13 +163,6 @@ static void gb_hid_irq_handler(u8 type, struct gb_operation *op) return; } - ret = gb_operation_response_send(op, 0); - if (ret) { - dev_err(&connection->dev, - "failed to send response status %d: %d\n", - 0, ret); - } - size = request->report[0] | request->report[1] << 8; if (!size) { dev_err(&connection->dev, "bad report size: %d\n", size); @@ -179,6 +172,13 @@ static void gb_hid_irq_handler(u8 type, struct gb_operation *op) if (test_bit(GB_HID_STARTED, &ghid->flags)) hid_input_report(ghid->hid, HID_INPUT_REPORT, request->report + 2, size - 2, 1); + + ret = gb_operation_response_send(op, 0); + if (ret) { + dev_err(&connection->dev, + "failed to send response status %d: %d\n", + 0, ret); + } } -- 2.11.0