linux-input.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] HID: logitech-hidpp: Handle timeout differently from busy
@ 2023-05-31  8:24 Bastien Nocera
  2023-05-31 14:07 ` Jiri Kosina
  0 siblings, 1 reply; 22+ messages in thread
From: Bastien Nocera @ 2023-05-31  8:24 UTC (permalink / raw)
  To: linux-input
  Cc: linux-kernel, Jiri Kosina, Benjamin Tissoires,
	Peter F . Patel-Schneider, Filipe Laíns, Nestor Lopez Casado,
	Mark Lord

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 586e8fede795
("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: Bastien Nocera <hadess@hadess.net>
Suggested-by: Mark Lord <mlord@pobox.com>
Fixes: 586e8fede795 ("HID: logitech-hidpp: Retry commands when device is busy")
Link: https://bugzilla.kernel.org/show_bug.cgi?id=217412
---
 drivers/hid/hid-logitech-hidpp.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/hid/hid-logitech-hidpp.c b/drivers/hid/hid-logitech-hidpp.c
index 0fcfd85fea0f..2246044b1639 100644
--- a/drivers/hid/hid-logitech-hidpp.c
+++ b/drivers/hid/hid-logitech-hidpp.c
@@ -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 &&
-- 
2.40.1


^ permalink raw reply related	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2023-06-21 17:19 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-05-31  8:24 [PATCH] HID: logitech-hidpp: Handle timeout differently from busy Bastien Nocera
2023-05-31 14:07 ` Jiri Kosina
2023-06-03 12:41   ` Jiri Kosina
2023-06-03 13:17     ` Mark Lord
2023-06-05 14:20       ` Benjamin Tissoires
2023-06-05 14:31         ` Mark Lord
2023-06-05  8:44     ` Linux regression tracking (Thorsten Leemhuis)
2023-06-05 14:27       ` Benjamin Tissoires
2023-06-05 16:25         ` Mark Lord
2023-06-05 17:04           ` Benjamin Tissoires
2023-06-05 17:47             ` Mark Lord
2023-06-05 20:03               ` Jiri Kosina
2023-06-06 13:27       ` Jiri Kosina
2023-06-06 18:18         ` Linux regression tracking (Thorsten Leemhuis)
2023-06-06 18:37           ` Benjamin Tissoires
2023-06-07  9:46             ` Greg Kroah-Hartman
2023-06-07 10:07               ` Benjamin Tissoires
2023-06-15  7:24           ` Linux regression tracking (Thorsten Leemhuis)
2023-06-15 11:24             ` Mark Lord
2023-06-21 14:03               ` Linux regression tracking (Thorsten Leemhuis)
2023-06-21 15:10                 ` Benjamin Tissoires
2023-06-21 17:19                   ` Linux regression tracking (Thorsten Leemhuis)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).