-/* $Id: device.c,v 1.74 2004/08/15 16:39:03 chorns Exp $
+/* $Id: device.c,v 1.75 2004/08/18 08:33:25 ekohl Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
IO_STATUS_BLOCK IoStatusBlock;
IO_STACK_LOCATION Stack;
PDEVICE_OBJECT Fdo;
- PCM_RESOURCE_LIST ResourceList = NULL;
NTSTATUS Status;
if (DriverObject->DriverExtension->AddDevice)
IopDeviceNodeSetFlag(DeviceNode, DNF_ADDED);
- /* Query resource list from PDO */
- Status = IopInitiatePnpIrp(
- DeviceNode->Pdo,
- &IoStatusBlock,
- IRP_MN_QUERY_RESOURCES,
- &Stack);
-
- if (!NT_SUCCESS(Status))
- {
- DPRINT("IopInitiatePnpIrp() failed\n");
- ObDereferenceObject(Fdo);
- return Status;
- }
- ResourceList = (PCM_RESOURCE_LIST)IoStatusBlock.Information;
-
DPRINT("Sending IRP_MN_START_DEVICE to driver\n");
- Stack.Parameters.StartDevice.AllocatedResources = ResourceList;
+ Stack.Parameters.StartDevice.AllocatedResources = DeviceNode->BootResourcesList;
/* FIXME: Translate the resource list */
Stack.Parameters.StartDevice.AllocatedResourcesTranslated = NULL;
if (!NT_SUCCESS(Status))
{
DPRINT("IopInitiatePnpIrp() failed\n");
- if (ResourceList != NULL)
- ExFreePool(ResourceList);
ObDereferenceObject(Fdo);
return Status;
}
if (!NT_SUCCESS(Status))
{
- if (ResourceList != NULL)
- ExFreePool(ResourceList);
ObDereferenceObject(Fdo);
return Status;
}
#endif /* ACPI */
}
- if (ResourceList != NULL)
- ExFreePool(ResourceList);
-
ObDereferenceObject(Fdo);
}