From: Michal Pecio <michal.pecio@gmail.com>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: "Thinh Nguyen" <Thinh.Nguyen@synopsys.com>,
"Oliver Neukum" <oneukum@suse.com>, "Bjørn Mork" <bjorn@mork.no>,
"USB list" <linux-usb@vger.kernel.org>
Subject: Re: correctly handling EPROTO
Date: Sun, 29 Mar 2026 18:46:11 +0200 [thread overview]
Message-ID: <20260329184611.0afa92c7.michal.pecio@gmail.com> (raw)
In-Reply-To: <22c70ca7-57dc-4328-a5cc-d46c4f73556f@rowland.harvard.edu>
On Sat, 28 Mar 2026 21:52:37 -0400, Alan Stern wrote:
> Storage is not a good example. It's so obviously critical that a
> huge amount of effort has gone into making it exceptionally robust.
> Very few of the other drivers do as good a job of error recovery.
I though it's a good example because all the effort is in vain if
xhci runs subsequent URBs before the driver even knows about it.
> Other drivers that might be affected include things like HID
HID doesn't submit multiple URBs so there is nothing to restart after
an error, but it's affected by the unilateral toggle reset issue.
And by the way, is there any chance that ohci-hcd also clears host
toggle on errors? I'm doing simple test with a keyboard (low speed
interrupt in): disconnect D+ which causes some ETIME errors, connect
it back, press and hold 'u'. Half the time uuuuu shows up, half the
time only when I later add shift does UUUUU show up. Looks like the
first packet is dropped due to toggle. I see it on xhci (known bug)
and also on ohci, but never on ehci with a TT hub.
> various serial protocols
If you mean usbserial, they are pretty boring. On completion they just
submit the next URB, except for EPIPE, ENODEV etc. There is data loss
on OUT endpoints, there can be more data loss due to toggle mismatch,
and throwing out already queued URBs would probably add more loss.
It seems usbserial won't care whether we restart instantly or not.
> network drivers, video & audio
And I suspect they are similar, because higher layers can tolerate loss
so why bother recovering from USB errors. I may play with them later.
BTW, I think audio only runs over isochronous. But I should have a bulk
video device somethere.
Regards,
Michal
next prev parent reply other threads:[~2026-03-29 16:46 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-12 13:55 correctly handling EPROTO Oliver Neukum
2026-03-12 14:21 ` Alan Stern
2026-03-12 15:57 ` Oliver Neukum
2026-03-13 7:53 ` Michal Pecio
2026-03-13 10:33 ` Oliver Neukum
2026-03-13 15:28 ` Alan Stern
2026-03-13 22:45 ` Thinh Nguyen
2026-03-14 2:39 ` Alan Stern
2026-03-16 12:58 ` Oliver Neukum
2026-03-16 14:02 ` Alan Stern
2026-03-16 14:47 ` Oliver Neukum
2026-03-16 17:33 ` Alan Stern
2026-03-16 19:32 ` Oliver Neukum
2026-03-17 9:05 ` Mathias Nyman
2026-03-17 14:31 ` Alan Stern
2026-03-17 16:20 ` Oliver Neukum
2026-03-17 18:03 ` Alan Stern
2026-03-18 9:54 ` Oliver Neukum
2026-03-18 17:46 ` Alan Stern
2026-03-18 21:38 ` Michal Pecio
2026-03-18 23:59 ` Thinh Nguyen
2026-03-19 2:07 ` Alan Stern
2026-03-19 23:16 ` Thinh Nguyen
2026-03-20 9:58 ` Michal Pecio
2026-03-20 16:20 ` Alan Stern
2026-03-20 17:49 ` Oliver Neukum
2026-03-21 2:14 ` Thinh Nguyen
2026-03-21 5:54 ` Michal Pecio
2026-03-21 15:58 ` Alan Stern
2026-03-28 21:22 ` Michal Pecio
2026-03-29 1:52 ` Alan Stern
2026-03-29 16:46 ` Michal Pecio [this message]
2026-03-23 10:26 ` Oliver Neukum
2026-03-24 1:06 ` Thinh Nguyen
2026-03-24 9:28 ` Oliver Neukum
2026-03-24 13:25 ` Alan Stern
2026-03-25 1:44 ` Thinh Nguyen
2026-03-19 1:56 ` Alan Stern
2026-03-19 8:40 ` Mathias Nyman
2026-03-19 23:34 ` Thinh Nguyen
2026-03-19 8:55 ` Michal Pecio
2026-03-19 14:24 ` Alan Stern
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260329184611.0afa92c7.michal.pecio@gmail.com \
--to=michal.pecio@gmail.com \
--cc=Thinh.Nguyen@synopsys.com \
--cc=bjorn@mork.no \
--cc=linux-usb@vger.kernel.org \
--cc=oneukum@suse.com \
--cc=stern@rowland.harvard.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox