mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-09-03 04:13:31 +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:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user