Author: akhaldi
Date: Sat Oct 29 18:07:53 2016
New Revision: 73066
URL:
http://svn.reactos.org/svn/reactos?rev=73066&view=rev
Log:
[0.4.3] Add a hack by Thomas to avoid MmGetPhysicalAddress failures during USB transfers.
CORE-9224
Modified:
branches/ros-branch-0_4_3/reactos/drivers/usb/usbehci/usb_request.cpp
branches/ros-branch-0_4_3/reactos/drivers/usb/usbohci/usb_request.cpp
Modified: branches/ros-branch-0_4_3/reactos/drivers/usb/usbehci/usb_request.cpp
URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_4_3/reactos/driver…
==============================================================================
--- branches/ros-branch-0_4_3/reactos/drivers/usb/usbehci/usb_request.cpp [iso-8859-1]
(original)
+++ branches/ros-branch-0_4_3/reactos/drivers/usb/usbehci/usb_request.cpp [iso-8859-1] Sat
Oct 29 18:07:53 2016
@@ -601,6 +601,7 @@
//
// get address
//
+ *(volatile char *)TransferBuffer; // HACK for CORE-9224
Address = MmGetPhysicalAddress(TransferBuffer);
//
Modified: branches/ros-branch-0_4_3/reactos/drivers/usb/usbohci/usb_request.cpp
URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_4_3/reactos/driver…
==============================================================================
--- branches/ros-branch-0_4_3/reactos/drivers/usb/usbohci/usb_request.cpp [iso-8859-1]
(original)
+++ branches/ros-branch-0_4_3/reactos/drivers/usb/usbohci/usb_request.cpp [iso-8859-1] Sat
Oct 29 18:07:53 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;