- 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
do
{
//
- // get address
+ // get address (HACK)
//
+ *(volatile char *)TransferBuffer;
Address = MmGetPhysicalAddress(TransferBuffer);
//
}
//
- // get physical page
+ // get physical page (HACK)
//
+ *(volatile char *)TransferBuffer;
Page = MmGetPhysicalAddress(Buffer).LowPart;
//