Author: tfaber
Date: Wed Jul 27 10:55:39 2016
New Revision: 72016
URL:
http://svn.reactos.org/svn/reactos?rev=72016&view=rev
Log:
[0.4.2]
- Add a hack to avoid MmGetPhysicalAddress failures during USB transfers
CORE-9224
Modified:
branches/ros-branch-0_4_2/reactos/drivers/usb/usbehci/usb_request.cpp
branches/ros-branch-0_4_2/reactos/drivers/usb/usbohci/usb_request.cpp
Modified: branches/ros-branch-0_4_2/reactos/drivers/usb/usbehci/usb_request.cpp
URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_4_2/reactos/driver…
==============================================================================
--- branches/ros-branch-0_4_2/reactos/drivers/usb/usbehci/usb_request.cpp [iso-8859-1]
(original)
+++ branches/ros-branch-0_4_2/reactos/drivers/usb/usbehci/usb_request.cpp [iso-8859-1] Wed
Jul 27 10:55:39 2016
@@ -601,6 +601,7 @@
//
// get address
//
+ *(volatile char *)TransferBuffer; // HACK for CORE-9224
Address = MmGetPhysicalAddress(TransferBuffer);
//
Modified: branches/ros-branch-0_4_2/reactos/drivers/usb/usbohci/usb_request.cpp
URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_4_2/reactos/driver…
==============================================================================
--- branches/ros-branch-0_4_2/reactos/drivers/usb/usbohci/usb_request.cpp [iso-8859-1]
(original)
+++ branches/ros-branch-0_4_2/reactos/drivers/usb/usbohci/usb_request.cpp [iso-8859-1] Wed
Jul 27 10:55:39 2016
@@ -771,6 +771,7 @@
//
// get physical page
//
+ *(volatile char *)Buffer; // HACK for CORE-9224
Page = MmGetPhysicalAddress(Buffer).LowPart;
//
@@ -1087,6 +1088,7 @@
//
// store physical address of buffer
//
+ *(volatile char *)TransferBuffer; // HACK for CORE-9224
CurrentDescriptor->BufferPhysical = MmGetPhysicalAddress(TransferBuffer).LowPart;
CurrentDescriptor->LastPhysicalByteAddress = CurrentDescriptor->BufferPhysical
+ TransferBufferLength - 1;
@@ -1503,6 +1505,7 @@
//
// store physical address of buffer
//
+ *(volatile char *)MmGetMdlVirtualAddress(m_TransferBufferMDL); // HACK for
CORE-9224
DataDescriptor->BufferPhysical =
MmGetPhysicalAddress(MmGetMdlVirtualAddress(m_TransferBufferMDL)).LowPart;
DataDescriptor->LastPhysicalByteAddress = DataDescriptor->BufferPhysical +
m_TransferBufferLength - 1;