[HAL]
authorThomas Faber <thomas.faber@reactos.org>
Mon, 19 Oct 2015 08:00:47 +0000 (08:00 +0000)
committerThomas Faber <thomas.faber@reactos.org>
Mon, 19 Oct 2015 08:00:47 +0000 (08:00 +0000)
- Don't probe for EISA DMA capability on non-EISA machines (i.e. currently never). Patch by Andrey Kudravets.
CORE-9895 #resolve

svn path=/trunk/; revision=69613

reactos/hal/halx86/generic/dma.c

index a78d817..3f6c312 100644 (file)
@@ -146,15 +146,18 @@ HalpInitDma(VOID)
     HalpDmaOperations.FreeMapRegisters = (PFREE_MAP_REGISTERS)IoFreeMapRegisters;
     HalpDmaOperations.MapTransfer = (PMAP_TRANSFER)IoMapTransfer;
 
-    /*
-     * Check if Extended DMA is available. We're just going to do a random
-     * read and write.
-     */
-    WRITE_PORT_UCHAR((PUCHAR)FIELD_OFFSET(EISA_CONTROL, DmaController2Pages.Channel2), 0x2A);
-    if (READ_PORT_UCHAR((PUCHAR)FIELD_OFFSET(EISA_CONTROL, DmaController2Pages.Channel2)) == 0x2A)
+    if (HalpBusType == MACHINE_TYPE_EISA)
     {
-        DPRINT1("Machine supports EISA DMA. Bus type: %lu\n", HalpBusType);
-        HalpEisaDma = TRUE;
+        /*
+        * Check if Extended DMA is available. We're just going to do a random
+        * read and write.
+        */
+        WRITE_PORT_UCHAR((PUCHAR)FIELD_OFFSET(EISA_CONTROL, DmaController2Pages.Channel2), 0x2A);
+        if (READ_PORT_UCHAR((PUCHAR)FIELD_OFFSET(EISA_CONTROL, DmaController2Pages.Channel2)) == 0x2A)
+        {
+            DPRINT1("Machine supports EISA DMA. Bus type: %lu\n", HalpBusType);
+            HalpEisaDma = TRUE;
+        }
     }
 
     /*