From 6a4a02907acf12e2786a5e9044178545e29d893f Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Sat, 28 Feb 2026 20:34:12 -0500 Subject: [PATCH] EHCI: Disable the physical buffers logic, at least for now. It seems it may have caused serious regressions on some hardware, see #19949 and #19945. --- src/add-ons/kernel/busses/usb/ehci.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/add-ons/kernel/busses/usb/ehci.cpp b/src/add-ons/kernel/busses/usb/ehci.cpp index 2ad68ba49a..c6c5372065 100644 --- a/src/add-ons/kernel/busses/usb/ehci.cpp +++ b/src/add-ons/kernel/busses/usb/ehci.cpp @@ -2506,6 +2506,7 @@ status_t EHCI::FillQueueWithData(Transfer *transfer, ehci_qh *queueHead, ehci_qtd **_dataDescriptor, bool *_directionIn, bool prepareKernelAccess) { +#if 0 /* works most of the time, but apparently broken on at least some hardware */ if (transfer->IsPhysical()) { // Try to use the physical buffer directly, first. status_t result = _FillQueueWithPhysicalData(transfer, queueHead, @@ -2513,6 +2514,7 @@ EHCI::FillQueueWithData(Transfer *transfer, ehci_qh *queueHead, if (result != B_NOT_SUPPORTED) return result; } +#endif Pipe *pipe = transfer->TransferPipe(); bool directionIn = (pipe->Direction() == Pipe::In);