On Sun, Oct 29, 2023 at 3:36 AM Hector Martin <mar...@marcan.st> wrote: > > A long time ago, the USB code was interrupt-driven and used top-level > timeout handling. This has long been obsolete, and that code is just > broken dead cruft. HC drivers instead hardcode timeouts today. > > We need to be able to specify timeouts explicitly to handle cases like > USB hard disks spinning up, without having ridiculously long timeouts > across the board (which would cause endless waiting when things go > wrong anywhere else). So, it's time to rip out the old broken nonsense > and actually pass through timeouts to USB host controller drivers, so > they can be implemented properly. > > This series adds the necessary top-level scaffolding for control/bulk > timeouts, and implements them in xHCI. I didn't bother with interrupt > transfers, since I figure those probably never need long timeouts > anyway. > > The platform I deal with only has xHCI, so I'll leave implementing this > for EHCI/OHCI to someone else if anyone cares :) > > This series needs to be applied after [1], since the xHCI changes depend > on changes made there. > > [1] > https://lore.kernel.org/u-boot/20231029-usb-fixes-1-v2-0-623533f63...@marcan.st/ > > Signed-off-by: Hector Martin <mar...@marcan.st> > --- > Hector Martin (2): > usb: Pass through timeout to drivers > usb: xhci: Hook up timeouts > > common/usb.c | 21 ++------------------- > drivers/usb/host/ehci-hcd.c | 5 +++-- > drivers/usb/host/ohci-hcd.c | 5 +++-- > drivers/usb/host/r8a66597-hcd.c | 5 +++-- > drivers/usb/host/usb-sandbox.c | 6 ++++-- > drivers/usb/host/usb-uclass.c | 9 +++++---- > drivers/usb/host/xhci-ring.c | 32 ++++++++++++++++++++------------ > drivers/usb/host/xhci.c | 28 ++++++++++++++++------------ > include/usb.h | 10 ++++++---- > include/usb/xhci.h | 14 ++++++++++---- > 10 files changed, 72 insertions(+), 63 deletions(-) > --- > base-commit: 3d5d748e4d66b98109669c05d0c473fe67795801 > change-id: 20231029-usb-fixes-5-ca87bbedb40c >
Series LGTM. Reviewed-by: Neal Gompa <n...@gompa.dev> -- 真実はいつも一つ!/ Always, there's only one truth!