- It may happen so, that the driver was loaded by the bootloader, but failed initialization (thus DriverObject == NULL), and later PNP manager tries to install it again, and BSOD due to NULL DriverObject (because really only its image is loaded, but it's not initialized). Prevent this situation by initializing DriverObject in that case.

svn path=/trunk/; revision=30071
This commit is contained in:
Aleksey Bragin 2007-11-02 16:00:58 +00:00
parent 1679d0bf4c
commit 7c3d94291e

View file

@ -2516,7 +2516,8 @@ IopActionInitChildServices(PDEVICE_NODE DeviceNode,
{
/* STATUS_IMAGE_ALREADY_LOADED means this driver
was loaded by the bootloader */
if (Status != STATUS_IMAGE_ALREADY_LOADED)
if ((Status != STATUS_IMAGE_ALREADY_LOADED) ||
(Status == STATUS_IMAGE_ALREADY_LOADED && !DriverObject))
{
/* Initialize the driver */
Status = IopInitializeDriverModule(DeviceNode, ModuleObject,