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.
This commit is contained in:
@@ -2506,6 +2506,7 @@ status_t
|
|||||||
EHCI::FillQueueWithData(Transfer *transfer, ehci_qh *queueHead,
|
EHCI::FillQueueWithData(Transfer *transfer, ehci_qh *queueHead,
|
||||||
ehci_qtd **_dataDescriptor, bool *_directionIn, bool prepareKernelAccess)
|
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()) {
|
if (transfer->IsPhysical()) {
|
||||||
// Try to use the physical buffer directly, first.
|
// Try to use the physical buffer directly, first.
|
||||||
status_t result = _FillQueueWithPhysicalData(transfer, queueHead,
|
status_t result = _FillQueueWithPhysicalData(transfer, queueHead,
|
||||||
@@ -2513,6 +2514,7 @@ EHCI::FillQueueWithData(Transfer *transfer, ehci_qh *queueHead,
|
|||||||
if (result != B_NOT_SUPPORTED)
|
if (result != B_NOT_SUPPORTED)
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
Pipe *pipe = transfer->TransferPipe();
|
Pipe *pipe = transfer->TransferPipe();
|
||||||
bool directionIn = (pipe->Direction() == Pipe::In);
|
bool directionIn = (pipe->Direction() == Pipe::In);
|
||||||
|
|||||||
Reference in New Issue
Block a user