Author: cgutman
Date: Mon Jan 23 10:10:51 2012
New Revision: 55094
URL:
http://svn.reactos.org/svn/reactos?rev=55094&view=rev
Log:
[USB-BRINGUP-TRUNK]
- Compute the frame interval correctly
- Fixes a deadlock on real hardware after enabling interrupts
Modified:
branches/usb-bringup-trunk/drivers/usb/usbohci/hardware.cpp
Modified: branches/usb-bringup-trunk/drivers/usb/usbohci/hardware.cpp
URL:
http://svn.reactos.org/svn/reactos/branches/usb-bringup-trunk/drivers/usb/u…
==============================================================================
--- branches/usb-bringup-trunk/drivers/usb/usbohci/hardware.cpp [iso-8859-1] (original)
+++ branches/usb-bringup-trunk/drivers/usb/usbohci/hardware.cpp [iso-8859-1] Mon Jan 23
10:10:51 2012
@@ -551,6 +551,7 @@
// get frame interval
//
FrameInterval = READ_REGISTER_ULONG((PULONG)((PUCHAR)m_Base +
OHCI_FRAME_INTERVAL_OFFSET));
+ 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);