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/usbohci/hardware.cpp?rev=55094&r1=55093&r2=55094&view=diff
==============================================================================
--- 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);


Reply via email to