mirror of
https://github.com/reactos/reactos.git
synced 2024-10-04 16:36:11 +00:00
The code expects synchronous behaviour here, so until a better solution exists, IoSynchronousInvalidateDeviceRelations() is going to be used.
This fixes the "Loading ndis.sys" problems. Thanks to Dmitry Gorbachev, confirmed by Herve Poussineau. See issue #1875 for more details. svn path=/trunk/; revision=24798
This commit is contained in:
parent
0b5c955898
commit
48953bfa71
|
@ -43,6 +43,13 @@ IopInvalidateDeviceRelations(
|
|||
IN PDEVICE_OBJECT DeviceObject,
|
||||
IN PVOID InvalidateContext);
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
IoSynchronousInvalidateDeviceRelations(
|
||||
IN PDEVICE_OBJECT DeviceObject,
|
||||
IN DEVICE_RELATION_TYPE Type);
|
||||
|
||||
|
||||
/* FUNCTIONS *****************************************************************/
|
||||
|
||||
PDEVICE_NODE
|
||||
|
@ -144,7 +151,9 @@ IopStartDevice(
|
|||
if (IopDeviceNodeHasFlag(DeviceNode, DNF_NEED_ENUMERATION_ONLY))
|
||||
{
|
||||
DPRINT("Device needs enumeration, invalidating bus relations\n");
|
||||
IoInvalidateDeviceRelations(DeviceNode->PhysicalDeviceObject, BusRelations);
|
||||
/* Invalidate device relations synchronously
|
||||
(otherwise there will be dirty read of DeviceNode) */
|
||||
IoSynchronousInvalidateDeviceRelations(DeviceNode->PhysicalDeviceObject, BusRelations);
|
||||
IopDeviceNodeClearFlag(DeviceNode, DNF_NEED_ENUMERATION_ONLY);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue