Commit 6199d23c authored by Bastien Nocera's avatar Bastien Nocera Committed by Jiri Kosina

HID: logitech-hidpp: Handle timeout differently from busy

If an attempt at contacting a receiver or a device fails because the
receiver or device never responds, don't restart the communication, only
restart it if the receiver or device answers that it's busy, as originally
intended.

This was the behaviour on communication timeout before commit 586e8fed
("HID: logitech-hidpp: Retry commands when device is busy").

This fixes some overly long waits in a critical path on boot, when
checking whether the device is connected by getting its HID++ version.
Signed-off-by: default avatarBastien Nocera <hadess@hadess.net>
Suggested-by: default avatarMark Lord <mlord@pobox.com>
Fixes: 586e8fed ("HID: logitech-hidpp: Retry commands when device is busy")
Link: https://bugzilla.kernel.org/show_bug.cgi?id=217412Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
parent 16a9c24f
......@@ -314,6 +314,7 @@ static int hidpp_send_message_sync(struct hidpp_device *hidpp,
dbg_hid("%s:timeout waiting for response\n", __func__);
memset(response, 0, sizeof(struct hidpp_report));
ret = -ETIMEDOUT;
goto exit;
}
if (response->report_id == REPORT_ID_HIDPP_SHORT &&
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment