[NTOSKRNL]

- Revert r46720 and fix the issue properly

svn path=/trunk/; revision=46724
This commit is contained in:
Cameron Gutman 2010-04-04 21:43:51 +00:00
parent 6141336a78
commit dfb82f3856
2 changed files with 7 additions and 17 deletions

View file

@ -460,22 +460,6 @@ IopCompleteRequest(IN PKAPC Apc,
}
else
{
/* Check if we have an associated user IOSB */
if (Irp->UserIosb)
{
/* We do, so let's give them the final status */
_SEH2_TRY
{
/* Save the IOSB Information */
*Irp->UserIosb = Irp->IoStatus;
}
_SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
{
/* Ignore any error */
}
_SEH2_END;
}
/*
* Either we didn't return from the request, or we did return but this
* request was synchronous.
@ -485,6 +469,9 @@ IopCompleteRequest(IN PKAPC Apc,
/* So we did return with a synch operation, was it the IRP? */
if (Irp->Flags & IRP_SYNCHRONOUS_API)
{
/* Yes, this IRP was synchronous, so return the I/O Status */
*Irp->UserIosb = Irp->IoStatus;
/* Now check if the user gave an event */
if (Irp->UserEvent)
{

View file

@ -163,7 +163,10 @@ IopStartDevice(
DPRINT("IopInitiatePnpIrp(IRP_MN_FILTER_RESOURCE_REQUIREMENTS) failed\n");
return Status;
}
DeviceNode->ResourceRequirements = (PIO_RESOURCE_REQUIREMENTS_LIST)IoStatusBlock.Information;
else if (NT_SUCCESS(Status))
{
DeviceNode->ResourceRequirements = (PIO_RESOURCE_REQUIREMENTS_LIST)IoStatusBlock.Information;
}
Status = IopAssignDeviceResources(DeviceNode, &RequiredLength);
if (NT_SUCCESS(Status))