mirror of
https://github.com/reactos/reactos.git
synced 2025-06-06 09:50:43 +00:00
[USBOHCI] Use KeQueryTickCount for timeouts instead of KeQuerySystemTime
This commit is contained in:
parent
1d9e03b708
commit
23147330dd
1 changed files with 12 additions and 12 deletions
|
@ -540,8 +540,8 @@ OHCI_TakeControlHC(IN POHCI_EXTENSION OhciExtension,
|
||||||
OHCI_REG_INTERRUPT_ENABLE_DISABLE IntDisable;
|
OHCI_REG_INTERRUPT_ENABLE_DISABLE IntDisable;
|
||||||
OHCI_REG_COMMAND_STATUS CommandStatus;
|
OHCI_REG_COMMAND_STATUS CommandStatus;
|
||||||
OHCI_REG_INTERRUPT_STATUS IntStatus;
|
OHCI_REG_INTERRUPT_STATUS IntStatus;
|
||||||
LARGE_INTEGER EndTime;
|
LARGE_INTEGER StartTicks, CurrentTicks;
|
||||||
LARGE_INTEGER SystemTime;
|
UINT32 TicksDiff;
|
||||||
|
|
||||||
DPRINT("OHCI_TakeControlHC: ...\n");
|
DPRINT("OHCI_TakeControlHC: ...\n");
|
||||||
|
|
||||||
|
@ -596,8 +596,8 @@ OHCI_TakeControlHC(IN POHCI_EXTENSION OhciExtension,
|
||||||
/* Monitoring the InterruptRouting bit
|
/* Monitoring the InterruptRouting bit
|
||||||
to determine when the ownership change has taken effect. */
|
to determine when the ownership change has taken effect. */
|
||||||
|
|
||||||
KeQuerySystemTime(&EndTime);
|
TicksDiff = (500 * 10000) / KeQueryTimeIncrement(); // 500 ms
|
||||||
EndTime.QuadPart += 500 * 10000; // 0.5 sec;
|
KeQueryTickCount(&StartTicks);
|
||||||
|
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
|
@ -618,9 +618,9 @@ OHCI_TakeControlHC(IN POHCI_EXTENSION OhciExtension,
|
||||||
return MP_STATUS_SUCCESS;
|
return MP_STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
KeQuerySystemTime(&SystemTime);
|
KeQueryTickCount(&CurrentTicks);
|
||||||
}
|
}
|
||||||
while (SystemTime.QuadPart < EndTime.QuadPart);
|
while (CurrentTicks.QuadPart - StartTicks.QuadPart < TicksDiff);
|
||||||
|
|
||||||
return MP_STATUS_HW_ERROR;
|
return MP_STATUS_HW_ERROR;
|
||||||
}
|
}
|
||||||
|
@ -647,8 +647,8 @@ OHCI_StartController(IN PVOID ohciExtension,
|
||||||
POHCI_ENDPOINT_DESCRIPTOR IntED;
|
POHCI_ENDPOINT_DESCRIPTOR IntED;
|
||||||
ULONG_PTR IntEdPA;
|
ULONG_PTR IntEdPA;
|
||||||
POHCI_HCCA OhciHCCA;
|
POHCI_HCCA OhciHCCA;
|
||||||
LARGE_INTEGER SystemTime;
|
LARGE_INTEGER StartTicks, CurrentTicks;
|
||||||
LARGE_INTEGER EndTime;
|
UINT32 TicksDiff;
|
||||||
ULONG ix;
|
ULONG ix;
|
||||||
ULONG jx;
|
ULONG jx;
|
||||||
MPSTATUS MPStatus = MP_STATUS_SUCCESS;
|
MPSTATUS MPStatus = MP_STATUS_SUCCESS;
|
||||||
|
@ -791,17 +791,17 @@ OHCI_StartController(IN PVOID ohciExtension,
|
||||||
|
|
||||||
WRITE_REGISTER_ULONG(ControlReg, Control.AsULONG);
|
WRITE_REGISTER_ULONG(ControlReg, Control.AsULONG);
|
||||||
|
|
||||||
KeQuerySystemTime(&EndTime);
|
TicksDiff = (500 * 10000) / KeQueryTimeIncrement(); // 500 ms
|
||||||
EndTime.QuadPart += 500 * 10000; // 0.5 sec
|
KeQueryTickCount(&StartTicks);
|
||||||
|
|
||||||
while (TRUE)
|
while (TRUE)
|
||||||
{
|
{
|
||||||
WRITE_REGISTER_ULONG(FmIntervalReg, OhciExtension->FrameInterval.AsULONG);
|
WRITE_REGISTER_ULONG(FmIntervalReg, OhciExtension->FrameInterval.AsULONG);
|
||||||
FrameInterval.AsULONG = READ_REGISTER_ULONG(FmIntervalReg);
|
FrameInterval.AsULONG = READ_REGISTER_ULONG(FmIntervalReg);
|
||||||
|
|
||||||
KeQuerySystemTime(&SystemTime);
|
KeQueryTickCount(&CurrentTicks);
|
||||||
|
|
||||||
if (SystemTime.QuadPart >= EndTime.QuadPart)
|
if (CurrentTicks.QuadPart - StartTicks.QuadPart >= TicksDiff)
|
||||||
{
|
{
|
||||||
MPStatus = MP_STATUS_HW_ERROR;
|
MPStatus = MP_STATUS_HW_ERROR;
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in a new issue