From 8afc22a95dce89b24d66a3831858942133f51689 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Thu, 23 Feb 2012 00:41:50 +0000 Subject: [PATCH] [NTOSKRNL] - Fix device node flag corruption svn path=/trunk/; revision=55826 --- reactos/ntoskrnl/io/pnpmgr/plugplay.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/reactos/ntoskrnl/io/pnpmgr/plugplay.c b/reactos/ntoskrnl/io/pnpmgr/plugplay.c index b7d6520909f..45e7ce97d90 100644 --- a/reactos/ntoskrnl/io/pnpmgr/plugplay.c +++ b/reactos/ntoskrnl/io/pnpmgr/plugplay.c @@ -552,6 +552,9 @@ IopResetDevice(PPLUGPLAY_CONTROL_RESET_DEVICE_DATA ResetDeviceData) /* Get the device node */ DeviceNode = IopGetDeviceNode(DeviceObject); + ASSERT(DeviceNode->Flags & DNF_ENUMERATED); + ASSERT(DeviceNode->Flags & DNF_PROCESSED); + #if 0 /* Remove the device node */ Status = IopRemoveDevice(DeviceNode); @@ -563,9 +566,7 @@ IopResetDevice(PPLUGPLAY_CONTROL_RESET_DEVICE_DATA ResetDeviceData) } #else /* FIXME: We might clear some important flags */ - ASSERT(DeviceNode->Flags & DNF_ENUMERATED); - ASSERT(DeviceNode->Flags & DNF_PROCESSED); - DeviceNode->Flags = DNF_ENUMERATED | DNF_PROCESSED; + DeviceNode->Flags &= ~DNF_DISABLED; /* Load service data from the registry */ Status = IopActionConfigureChildServices(DeviceNode, DeviceNode->Parent);