https://git.reactos.org/?p=reactos.git;a=commitdiff;h=23147330dd3fb90ef8075f...
commit 23147330dd3fb90ef8075ffd25bdb455c809fe63 Author: Victor Perevertkin victor.perevertkin@reactos.org AuthorDate: Mon Dec 16 03:21:28 2019 +0300 Commit: Victor Perevertkin victor.perevertkin@reactos.org CommitDate: Mon Dec 16 03:21:28 2019 +0300
[USBOHCI] Use KeQueryTickCount for timeouts instead of KeQuerySystemTime --- drivers/usb/usbohci_new/usbohci.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/drivers/usb/usbohci_new/usbohci.c b/drivers/usb/usbohci_new/usbohci.c index e7aa0bcb5d8..4ac235e20b7 100644 --- a/drivers/usb/usbohci_new/usbohci.c +++ b/drivers/usb/usbohci_new/usbohci.c @@ -540,8 +540,8 @@ OHCI_TakeControlHC(IN POHCI_EXTENSION OhciExtension, OHCI_REG_INTERRUPT_ENABLE_DISABLE IntDisable; OHCI_REG_COMMAND_STATUS CommandStatus; OHCI_REG_INTERRUPT_STATUS IntStatus; - LARGE_INTEGER EndTime; - LARGE_INTEGER SystemTime; + LARGE_INTEGER StartTicks, CurrentTicks; + UINT32 TicksDiff;
DPRINT("OHCI_TakeControlHC: ...\n");
@@ -596,8 +596,8 @@ OHCI_TakeControlHC(IN POHCI_EXTENSION OhciExtension, /* Monitoring the InterruptRouting bit to determine when the ownership change has taken effect. */
- KeQuerySystemTime(&EndTime); - EndTime.QuadPart += 500 * 10000; // 0.5 sec; + TicksDiff = (500 * 10000) / KeQueryTimeIncrement(); // 500 ms + KeQueryTickCount(&StartTicks);
do { @@ -618,9 +618,9 @@ OHCI_TakeControlHC(IN POHCI_EXTENSION OhciExtension, return MP_STATUS_SUCCESS; }
- KeQuerySystemTime(&SystemTime); + KeQueryTickCount(&CurrentTicks); } - while (SystemTime.QuadPart < EndTime.QuadPart); + while (CurrentTicks.QuadPart - StartTicks.QuadPart < TicksDiff);
return MP_STATUS_HW_ERROR; } @@ -647,8 +647,8 @@ OHCI_StartController(IN PVOID ohciExtension, POHCI_ENDPOINT_DESCRIPTOR IntED; ULONG_PTR IntEdPA; POHCI_HCCA OhciHCCA; - LARGE_INTEGER SystemTime; - LARGE_INTEGER EndTime; + LARGE_INTEGER StartTicks, CurrentTicks; + UINT32 TicksDiff; ULONG ix; ULONG jx; MPSTATUS MPStatus = MP_STATUS_SUCCESS; @@ -791,17 +791,17 @@ OHCI_StartController(IN PVOID ohciExtension,
WRITE_REGISTER_ULONG(ControlReg, Control.AsULONG);
- KeQuerySystemTime(&EndTime); - EndTime.QuadPart += 500 * 10000; // 0.5 sec + TicksDiff = (500 * 10000) / KeQueryTimeIncrement(); // 500 ms + KeQueryTickCount(&StartTicks);
while (TRUE) { WRITE_REGISTER_ULONG(FmIntervalReg, OhciExtension->FrameInterval.AsULONG); 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; break;