Author: hpoussin Date: Fri May 4 14:49:53 2007 New Revision: 26632
URL: http://svn.reactos.org/svn/reactos?rev=26632&view=rev Log: Don't ignore results of IRP_MN_FILTER_RESOURCE_REQUIREMENTS
Modified: trunk/reactos/ntoskrnl/io/pnpmgr/pnpmgr.c
Modified: trunk/reactos/ntoskrnl/io/pnpmgr/pnpmgr.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/io/pnpmgr/pnpmgr.c... ============================================================================== --- trunk/reactos/ntoskrnl/io/pnpmgr/pnpmgr.c (original) +++ trunk/reactos/ntoskrnl/io/pnpmgr/pnpmgr.c Fri May 4 14:49:53 2007 @@ -155,11 +155,12 @@ &IoStatusBlock, IRP_MN_FILTER_RESOURCE_REQUIREMENTS, &Stack); - /* FIXME: Take care of return code */ if (!NT_SUCCESS(Status)) { DPRINT("IopInitiatePnpIrp(IRP_MN_FILTER_RESOURCE_REQUIREMENTS) failed\n"); - } + return Status; + } + DeviceNode->ResourceRequirements = Stack.Parameters.FilterResourceRequirements.IoResourceRequirementList;
Status = IopAssignDeviceResources(DeviceNode, &RequiredLength); if (NT_SUCCESS(Status)) @@ -989,9 +990,12 @@ &Event, IoStatusBlock);
- /* PNP IRPs are always initialized with a status code of + /* Most of PNP IRPs are initialized with a status code of STATUS_NOT_IMPLEMENTED */ - Irp->IoStatus.Status = MinorFunction == IRP_MN_FILTER_RESOURCE_REQUIREMENTS ? STATUS_SUCCESS : STATUS_NOT_IMPLEMENTED; // hpoussin's hack of doom + if (MinorFunction == IRP_MN_FILTER_RESOURCE_REQUIREMENTS) + Irp->IoStatus.Status = STATUS_SUCCESS; + else + Irp->IoStatus.Status = STATUS_NOT_IMPLEMENTED; Irp->IoStatus.Information = 0;
IrpSp = IoGetNextIrpStackLocation(Irp);