mirror of
https://github.com/reactos/reactos.git
synced 2025-08-01 18:53:05 +00:00
[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:
parent
c42e1246d1
commit
b82bf8ce16
12 changed files with 146 additions and 48 deletions
|
@ -1,4 +1,7 @@
|
|||
|
||||
include_directories(
|
||||
${REACTOS_SOURCE_DIR}/sdk/include/reactos/drivers)
|
||||
|
||||
list(APPEND SOURCE
|
||||
fdo.c
|
||||
pci.c
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
#define _PCI_PCH_
|
||||
|
||||
#include <ntifs.h>
|
||||
#include <cmreslist.h>
|
||||
|
||||
#define TAG_PCI '0ICP'
|
||||
|
||||
|
|
|
@ -1335,12 +1335,13 @@ PdoStartDevice(
|
|||
|
||||
/* TODO: Assign the other resources we get to the card */
|
||||
|
||||
for (i = 0; i < RawResList->Count; i++)
|
||||
RawFullDesc = &RawResList->List[0];
|
||||
for (i = 0; i < RawResList->Count; i++, RawFullDesc = CmiGetNextResourceDescriptor(RawFullDesc))
|
||||
{
|
||||
RawFullDesc = &RawResList->List[i];
|
||||
|
||||
for (ii = 0; ii < RawFullDesc->PartialResourceList.Count; ii++)
|
||||
{
|
||||
/* Partial resource descriptors can be of variable size (CmResourceTypeDeviceSpecific),
|
||||
but only one is allowed and it must be the last one in the list! */
|
||||
RawPartialDesc = &RawFullDesc->PartialResourceList.PartialDescriptors[ii];
|
||||
|
||||
if (RawPartialDesc->Type == CmResourceTypeInterrupt)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue