[NTOS:IO] Fix parsing of resource lists

Also add a hack to avoid failing on now occurring resource conflict detection and try to fix at least one resource in ACPI hal.

CORE-10146
CORE-12892
This commit is contained in:
Timo Kreuzer 2018-01-28 23:44:28 +01:00 committed by Victor Perevertkin
parent c42e1246d1
commit b82bf8ce16
No known key found for this signature in database
GPG key ID: C750B7222E9C7830
12 changed files with 146 additions and 48 deletions

View file

@ -765,7 +765,7 @@ VideoPortGetAccessRanges(
ERR_(VIDEOPRT, "Too many access ranges found\n");
return ERROR_NOT_ENOUGH_MEMORY;
}
if (Descriptor->Type == CmResourceTypeMemory)
else if (Descriptor->Type == CmResourceTypeMemory)
{
INFO_(VIDEOPRT, "Memory range starting at 0x%08x length 0x%08x\n",
Descriptor->u.Memory.Start.u.LowPart, Descriptor->u.Memory.Length);
@ -804,6 +804,11 @@ VideoPortGetAccessRanges(
else
DeviceExtension->InterruptShared = FALSE;
}
else
{
ASSERT(FALSE);
return ERROR_INVALID_PARAMETER;
}
}
return NO_ERROR;
@ -838,7 +843,7 @@ VideoPortVerifyAccessRanges(
if (!ResourceList)
{
WARN_(VIDEOPRT, "ExAllocatePool() failed\n");
return ERROR_INVALID_PARAMETER;
return ERROR_NOT_ENOUGH_MEMORY;
}
/* Fill resource list */