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 <johan@hovoldconsulting.com> Reviewed-by: Alex Elder <elder@linaro.org> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
This commit is contained in:
parent
b67f2d13db
commit
ecf47ab9c5
@ -163,13 +163,6 @@ static void gb_hid_irq_handler(u8 type, struct gb_operation *op)
|
|||||||
return;
|
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;
|
size = request->report[0] | request->report[1] << 8;
|
||||||
if (!size) {
|
if (!size) {
|
||||||
dev_err(&connection->dev, "bad report size: %d\n", 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))
|
if (test_bit(GB_HID_STARTED, &ghid->flags))
|
||||||
hid_input_report(ghid->hid, HID_INPUT_REPORT,
|
hid_input_report(ghid->hid, HID_INPUT_REPORT,
|
||||||
request->report + 2, size - 2, 1);
|
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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user