mirror of
https://github.com/reactos/reactos.git
synced 2024-09-12 22:02:18 +00:00
[USBEHCI]
- Wait for periodic scheduling to start - Increase the wait interval for asynchronous scheduling to start svn path=/branches/usb-bringup-trunk/; revision=55477
This commit is contained in:
parent
ec95123297
commit
27a04819e7
|
@ -714,19 +714,26 @@ CUSBHardwareDevice::StartController(void)
|
||||||
//
|
//
|
||||||
for (FailSafe = 100; FailSafe > 1; FailSafe--)
|
for (FailSafe = 100; FailSafe > 1; FailSafe--)
|
||||||
{
|
{
|
||||||
KeStallExecutionProcessor(10);
|
KeStallExecutionProcessor(100);
|
||||||
UsbSts = EHCI_READ_REGISTER_ULONG(EHCI_USBSTS);
|
UsbSts = EHCI_READ_REGISTER_ULONG(EHCI_USBSTS);
|
||||||
|
|
||||||
if (!(UsbSts & EHCI_STS_HALT))
|
if (!(UsbSts & EHCI_STS_HALT) && (UsbSts & EHCI_STS_PSS))
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (UsbSts & EHCI_STS_HALT)
|
if (UsbSts & EHCI_STS_HALT)
|
||||||
{
|
{
|
||||||
DPRINT1("Could not start execution on the controller\n");
|
DPRINT1("Could not start execution on the controller\n");
|
||||||
|
ASSERT(FALSE);
|
||||||
|
return STATUS_UNSUCCESSFUL;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!(UsbSts & EHCI_STS_PSS))
|
||||||
|
{
|
||||||
|
DPRINT1("Could not enable periodic scheduling\n");
|
||||||
|
ASSERT(FALSE);
|
||||||
return STATUS_UNSUCCESSFUL;
|
return STATUS_UNSUCCESSFUL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -755,7 +762,7 @@ CUSBHardwareDevice::StartController(void)
|
||||||
//
|
//
|
||||||
for (FailSafe = 100; FailSafe > 1; FailSafe--)
|
for (FailSafe = 100; FailSafe > 1; FailSafe--)
|
||||||
{
|
{
|
||||||
KeStallExecutionProcessor(10);
|
KeStallExecutionProcessor(100);
|
||||||
UsbSts = EHCI_READ_REGISTER_ULONG(EHCI_USBSTS);
|
UsbSts = EHCI_READ_REGISTER_ULONG(EHCI_USBSTS);
|
||||||
|
|
||||||
if ((UsbSts & EHCI_STS_ASS))
|
if ((UsbSts & EHCI_STS_ASS))
|
||||||
|
@ -1282,7 +1289,7 @@ EhciDefferedRoutine(
|
||||||
This = (CUSBHardwareDevice*) SystemArgument1;
|
This = (CUSBHardwareDevice*) SystemArgument1;
|
||||||
CStatus = (ULONG) SystemArgument2;
|
CStatus = (ULONG) SystemArgument2;
|
||||||
|
|
||||||
DPRINT("CStatus %x\n", CStatus);
|
DPRINT("CStatus %x\n", CStatus);
|
||||||
|
|
||||||
//
|
//
|
||||||
// check for completion of async schedule
|
// check for completion of async schedule
|
||||||
|
|
Loading…
Reference in a new issue