Author: fireball
Date: Tue Mar 3 15:55:58 2009
New Revision: 39857
URL:
http://svn.reactos.org/svn/reactos?rev=39857&view=rev
Log:
- Consider Pnp initialized after system drivers finished loading.
- Fix reinitialization routines callbacks: processing reinit callbacks after EVERY driver
load, including boot drivers is wrong. The sequence should be init boot drivers, call boot
drivers reinit routines, load pnp drivers, load system drivers, call reinit routines. And
then, when Pnp is initialized, call reinit routines after every driver module load event.
Modified:
trunk/reactos/ntoskrnl/io/iomgr/driver.c
trunk/reactos/ntoskrnl/io/iomgr/iomgr.c
Modified: trunk/reactos/ntoskrnl/io/iomgr/driver.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/io/iomgr/driver.c…
==============================================================================
--- trunk/reactos/ntoskrnl/io/iomgr/driver.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/io/iomgr/driver.c [iso-8859-1] Tue Mar 3 15:55:58 2009
@@ -32,6 +32,7 @@
#define TAG_RTLREGISTRY TAG('R', 'q', 'r', 'v')
extern BOOLEAN ExpInTextModeSetup;
+extern BOOLEAN PnpSystemInit;
/* PRIVATE FUNCTIONS **********************************************************/
@@ -482,7 +483,7 @@
DeviceObject = DeviceObject->NextDevice;
}
- IopReinitializeDrivers();
+ if (PnpSystemInit) IopReinitializeDrivers();
return STATUS_SUCCESS;
}
Modified: trunk/reactos/ntoskrnl/io/iomgr/iomgr.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/io/iomgr/iomgr.c?…
==============================================================================
--- trunk/reactos/ntoskrnl/io/iomgr/iomgr.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/io/iomgr/iomgr.c [iso-8859-1] Tue Mar 3 15:55:58 2009
@@ -524,8 +524,8 @@
IopInitializePnpServices(IopRootDeviceNode);
/* Load system start drivers */
+ IopInitializeSystemDrivers();
PnpSystemInit = TRUE;
- IopInitializeSystemDrivers();
/* Destroy the group driver list */
IoDestroyDriverList();