[NTOSKRNL]

- Fix device node flag corruption

svn path=/trunk/; revision=55826
This commit is contained in:
Cameron Gutman 2012-02-23 00:41:50 +00:00
parent fc053ddc31
commit 8afc22a95d

View file

@ -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);