mirror of
https://github.com/reactos/reactos.git
synced 2024-10-04 00:13:57 +00:00
[USBEHCI]
- Wait 20 milliseconds after enabling power for the port to stabilize svn path=/branches/usb-bringup-trunk/; revision=55365
This commit is contained in:
parent
205e63a314
commit
6c5ad5e239
|
@ -957,11 +957,30 @@ CUSBHardwareDevice::SetPortFeature(
|
|||
{
|
||||
if (m_Capabilities.HCSParams.PortPowerControl)
|
||||
{
|
||||
ULONG Value;
|
||||
LARGE_INTEGER Timeout;
|
||||
|
||||
//
|
||||
// enable port power
|
||||
//
|
||||
ULONG Value = EHCI_READ_REGISTER_ULONG(EHCI_PORTSC + (4 * PortId)) | EHCI_PRT_POWER;
|
||||
Value = EHCI_READ_REGISTER_ULONG(EHCI_PORTSC + (4 * PortId)) | EHCI_PRT_POWER;
|
||||
EHCI_WRITE_REGISTER_ULONG(EHCI_PORTSC, Value);
|
||||
|
||||
//
|
||||
// delay is 20 ms
|
||||
//
|
||||
Timeout.QuadPart = 20;
|
||||
DPRINT1("Waiting %d milliseconds for port power up\n", Timeout.LowPart);
|
||||
|
||||
//
|
||||
// convert to 100 ns units (absolute)
|
||||
//
|
||||
Timeout.QuadPart *= -10000;
|
||||
|
||||
//
|
||||
// perform the wait
|
||||
//
|
||||
KeDelayExecutionThread(KernelMode, FALSE, &Timeout);
|
||||
}
|
||||
}
|
||||
return STATUS_SUCCESS;
|
||||
|
|
Loading…
Reference in a new issue