Author: cgutman Date: Fri Feb 24 07:26:43 2012 New Revision: 55836
URL: http://svn.reactos.org/svn/reactos?rev=55836&view=rev Log: [USBOHCI] - Try to fix some real hardware OHCI initialization hangs
Modified: trunk/reactos/drivers/usb/usbohci/hardware.cpp
Modified: trunk/reactos/drivers/usb/usbohci/hardware.cpp URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/usb/usbohci/hardwar... ============================================================================== --- trunk/reactos/drivers/usb/usbohci/hardware.cpp [iso-8859-1] (original) +++ trunk/reactos/drivers/usb/usbohci/hardware.cpp [iso-8859-1] Fri Feb 24 07:26:43 2012 @@ -533,7 +533,10 @@ // 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); @@ -1101,11 +1104,6 @@ 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 // return STATUS_SUCCESS;