mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 01:55:39 +00:00
[NTOSKRNL]
- Fix a bug in IopCreateResourceListFromRequirements which was triggering a sanity ASSERT because it forgot to skip conflicting entries svn path=/trunk/; revision=53261
This commit is contained in:
parent
6d2566752f
commit
36b3277b89
1 changed files with 17 additions and 2 deletions
|
@ -217,6 +217,7 @@ IopCreateResourceListFromRequirements(
|
||||||
for (ii = 0; ii < ResList->Count; ii++)
|
for (ii = 0; ii < ResList->Count; ii++)
|
||||||
{
|
{
|
||||||
PIO_RESOURCE_DESCRIPTOR ReqDesc = &ResList->Descriptors[ii];
|
PIO_RESOURCE_DESCRIPTOR ReqDesc = &ResList->Descriptors[ii];
|
||||||
|
BOOLEAN FoundResource = TRUE;
|
||||||
|
|
||||||
/* FIXME: Handle alternate ranges */
|
/* FIXME: Handle alternate ranges */
|
||||||
if (ReqDesc->Option == IO_RESOURCE_ALTERNATIVE)
|
if (ReqDesc->Option == IO_RESOURCE_ALTERNATIVE)
|
||||||
|
@ -240,6 +241,8 @@ IopCreateResourceListFromRequirements(
|
||||||
*ResourceList = NULL;
|
*ResourceList = NULL;
|
||||||
return STATUS_CONFLICTING_ADDRESSES;
|
return STATUS_CONFLICTING_ADDRESSES;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
FoundResource = FALSE;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -256,6 +259,8 @@ IopCreateResourceListFromRequirements(
|
||||||
*ResourceList = NULL;
|
*ResourceList = NULL;
|
||||||
return STATUS_CONFLICTING_ADDRESSES;
|
return STATUS_CONFLICTING_ADDRESSES;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
FoundResource = FALSE;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -272,6 +277,8 @@ IopCreateResourceListFromRequirements(
|
||||||
*ResourceList = NULL;
|
*ResourceList = NULL;
|
||||||
return STATUS_CONFLICTING_ADDRESSES;
|
return STATUS_CONFLICTING_ADDRESSES;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
FoundResource = FALSE;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -288,6 +295,8 @@ IopCreateResourceListFromRequirements(
|
||||||
*ResourceList = NULL;
|
*ResourceList = NULL;
|
||||||
return STATUS_CONFLICTING_ADDRESSES;
|
return STATUS_CONFLICTING_ADDRESSES;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
FoundResource = FALSE;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -303,16 +312,22 @@ IopCreateResourceListFromRequirements(
|
||||||
*ResourceList = NULL;
|
*ResourceList = NULL;
|
||||||
return STATUS_CONFLICTING_ADDRESSES;
|
return STATUS_CONFLICTING_ADDRESSES;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
FoundResource = FALSE;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
DPRINT1("Unsupported resource type: %x\n", ReqDesc->Type);
|
DPRINT1("Unsupported resource type: %x\n", ReqDesc->Type);
|
||||||
|
FoundResource = FALSE;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
(*ResourceList)->List[0].PartialResourceList.Count++;
|
if (FoundResource)
|
||||||
ResDesc++;
|
{
|
||||||
|
(*ResourceList)->List[0].PartialResourceList.Count++;
|
||||||
|
ResDesc++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue