diff --git a/reactos/ntoskrnl/io/pnpmgr/pnpres.c b/reactos/ntoskrnl/io/pnpmgr/pnpres.c index ac1884e2d11..ee0fdca8b99 100644 --- a/reactos/ntoskrnl/io/pnpmgr/pnpres.c +++ b/reactos/ntoskrnl/io/pnpmgr/pnpres.c @@ -758,6 +758,13 @@ IopTranslateDeviceResources( DPRINT1("Failed to translate port resource (Start: 0x%I64x)\n", DescriptorRaw->u.Port.Start.QuadPart); goto cleanup; } + + if (AddressSpace == 0) + { + /* This is actually a memory resource */ + DescriptorRaw->Type = CmResourceTypeMemory; + DescriptorTranslated->Type = CmResourceTypeMemory; + } break; } case CmResourceTypeInterrupt: @@ -793,6 +800,13 @@ IopTranslateDeviceResources( DPRINT1("Failed to translate memory resource (Start: 0xI64x)\n", DescriptorRaw->u.Memory.Start.QuadPart); goto cleanup; } + + if (AddressSpace != 0) + { + /* This is actually an I/O port resource */ + DescriptorRaw->Type = CmResourceTypePort; + DescriptorTranslated->Type = CmResourceTypePort; + } } case CmResourceTypeDma: