From 34136e69cf536eda6aa6bb89fb2985770ec433f6 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Fri, 24 Feb 2012 07:26:43 +0000 Subject: [PATCH] [USBOHCI] - Try to fix some real hardware OHCI initialization hangs svn path=/trunk/; revision=55836 --- reactos/drivers/usb/usbohci/hardware.cpp | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/reactos/drivers/usb/usbohci/hardware.cpp b/reactos/drivers/usb/usbohci/hardware.cpp index c38d19531a7..5543b873dd8 100644 --- a/reactos/drivers/usb/usbohci/hardware.cpp +++ b/reactos/drivers/usb/usbohci/hardware.cpp @@ -533,7 +533,10 @@ CUSBHardwareDevice::StartController(void) // get frame interval // FrameInterval = READ_REGISTER_ULONG((PULONG)((PUCHAR)m_Base + OHCI_FRAME_INTERVAL_OFFSET)); + m_IntervalValue = OHCI_GET_INTERVAL_VALUE(FrameInterval); + FrameInterval = ((FrameInterval & OHCI_FRAME_INTERVAL_TOGGLE) ^ OHCI_FRAME_INTERVAL_TOGGLE); + DPRINT1("FrameInterval %x IntervalValue %x\n", FrameInterval, m_IntervalValue); FrameInterval |= OHCI_FSMPS(m_IntervalValue) | m_IntervalValue; DPRINT1("FrameInterval %x\n", FrameInterval); @@ -1100,11 +1103,6 @@ CUSBHardwareDevice::StopController(void) // if ((Reset & OHCI_HOST_CONTROLLER_RESET) == 0) { - // - // restore the frame interval register - // - WRITE_REGISTER_ULONG((PULONG)((PUCHAR)m_Base + OHCI_FRAME_INTERVAL_OFFSET), FrameInterval); - // // controller completed reset //