--- M:\work\UniATA\etc\v46e4\driver\id_dma.cpp	Fri Jan 06 12:35:36 2017
+++ M:\work\UniATA\BusMaster\driver\id_dma.cpp	Sun Dec 17 14:35:59 2017
@@ -152,6 +152,10 @@
 
     if(!deviceExtension->Host64 && (WinVer_Id() > WinVer_NT)) {
         KdPrint2((PRINT_PREFIX "AtapiDmaAlloc: allocate tmp buffers below 4Gb\n"));
+        if(chan->DB_PRD) {
+            KdPrint2((PRINT_PREFIX "  already initialized %x\n", chan->DB_PRD));
+            return;
+        }
         chan->DB_PRD = MmAllocateContiguousMemory(sizeof(((PATA_REQ)NULL)->dma_tab), ph4gb);
         if(chan->DB_PRD) {
             chan->DB_PRD_PhAddr = AtapiVirtToPhysAddr(HwDeviceExtension, NULL, (PUCHAR)(chan->DB_PRD), &i, &ph_addru);
