XHCI: Disable Stop/SetTRD/Reset again.
They don't seem to particularly help, and there are reports
that this broke XHCI completely on some devices.
This reverts commit a21f7b525b.
This commit is contained in:
@@ -1496,6 +1496,16 @@ XHCI::_InsertEndpointForPipe(Pipe *pipe)
|
|||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
/* These commands error with "Context state" on some devices,
|
||||||
|
* and on others break transfers altogether. So just disable them
|
||||||
|
* for now. */
|
||||||
|
StopEndpoint(false, endpoint, device->slot);
|
||||||
|
SetTRDequeue(device->endpoints[id].trb_addr, 0, endpoint,
|
||||||
|
device->slot);
|
||||||
|
ResetEndpoint(false, endpoint, device->slot);
|
||||||
|
#endif
|
||||||
|
|
||||||
_WriteContext(&device->input_ctx->input.dropFlags, 0);
|
_WriteContext(&device->input_ctx->input.dropFlags, 0);
|
||||||
_WriteContext(&device->input_ctx->input.addFlags,
|
_WriteContext(&device->input_ctx->input.addFlags,
|
||||||
(1 << endpoint) | (1 << 0));
|
(1 << endpoint) | (1 << 0));
|
||||||
@@ -1505,11 +1515,6 @@ XHCI::_InsertEndpointForPipe(Pipe *pipe)
|
|||||||
else
|
else
|
||||||
EvaluateContext(device->input_ctx_addr, device->slot);
|
EvaluateContext(device->input_ctx_addr, device->slot);
|
||||||
|
|
||||||
StopEndpoint(false, endpoint, device->slot);
|
|
||||||
SetTRDequeue(device->endpoints[id].trb_addr, 0, endpoint,
|
|
||||||
device->slot);
|
|
||||||
ResetEndpoint(false, endpoint, device->slot);
|
|
||||||
|
|
||||||
TRACE("device: address 0x%x state 0x%08" B_PRIx32 "\n",
|
TRACE("device: address 0x%x state 0x%08" B_PRIx32 "\n",
|
||||||
device->address, SLOT_3_SLOT_STATE_GET(_ReadContext(
|
device->address, SLOT_3_SLOT_STATE_GET(_ReadContext(
|
||||||
&device->device_ctx->slot.dwslot3)));
|
&device->device_ctx->slot.dwslot3)));
|
||||||
|
|||||||
Reference in New Issue
Block a user