mirror of
https://github.com/reactos/reactos.git
synced 2025-02-24 09:25:10 +00:00
[USBEHCI][USBOHCI]
- Touch the virtual address of DMA buffers before calling MmGetPhysicalAddress on them. This ensures page directories are correctly set up for the current process context, and fixes random DMA operation failures ("MM:MmGetPhysicalAddressFailed"). This is not a hack -- using MmGetPhysicalAddress for DMA in the first place is. CORE-9224 #resolve svn path=/trunk/; revision=74408
This commit is contained in:
parent
43e13595cf
commit
1bb6977402
2 changed files with 4 additions and 2 deletions
|
@ -615,8 +615,9 @@ CUSBRequest::InitDescriptor(
|
|||
do
|
||||
{
|
||||
//
|
||||
// get address
|
||||
// get address (HACK)
|
||||
//
|
||||
*(volatile char *)TransferBuffer;
|
||||
Address = MmGetPhysicalAddress(TransferBuffer);
|
||||
|
||||
//
|
||||
|
|
|
@ -784,8 +784,9 @@ CUSBRequest::BuildIsochronousEndpoint(
|
|||
}
|
||||
|
||||
//
|
||||
// get physical page
|
||||
// get physical page (HACK)
|
||||
//
|
||||
*(volatile char *)TransferBuffer;
|
||||
Page = MmGetPhysicalAddress(Buffer).LowPart;
|
||||
|
||||
//
|
||||
|
|
Loading…
Reference in a new issue