From e9bd48433dc6dee2c8487e786ea7e61bc63065e7 Mon Sep 17 00:00:00 2001 From: Aleksey Bragin Date: Sat, 19 Nov 2005 19:10:13 +0000 Subject: [PATCH] According to MSDN: "PnP Manager queries a device's BusRelations (child devices) when the device is enumerated". This change implements this behaviour in reactos (thanks Filip Navara for providing this good idea). Before, querying BusRelations was done only for ACPI/BUS_EXTENDER DeviceType. svn path=/trunk/; revision=19349 --- reactos/ntoskrnl/io/device.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/reactos/ntoskrnl/io/device.c b/reactos/ntoskrnl/io/device.c index 9e5474261ef..056639e0ea0 100644 --- a/reactos/ntoskrnl/io/device.c +++ b/reactos/ntoskrnl/io/device.c @@ -121,6 +121,7 @@ IopInitializeDevice(PDEVICE_NODE DeviceNode, } IopDeviceNodeSetFlag(DeviceNode, DNF_ADDED); + IopDeviceNodeSetFlag(DeviceNode, DNF_NEED_ENUMERATION_ONLY); } return STATUS_SUCCESS; @@ -153,12 +154,11 @@ IopStartDevice( } else { - if (Fdo->DeviceType == FILE_DEVICE_BUS_EXTENDER || - Fdo->DeviceType == FILE_DEVICE_ACPI) + if (IopDeviceNodeHasFlag(DeviceNode, DNF_NEED_ENUMERATION_ONLY)) { - DPRINT("Bus extender found\n"); - + DPRINT("Device needs enumeration, invalidating bus relations\n"); Status = IopInvalidateDeviceRelations(DeviceNode, BusRelations); + IopDeviceNodeClearFlag(DeviceNode, DNF_NEED_ENUMERATION_ONLY); } }