Zebediah Figura : ntoskrnl.exe: Handle already-loaded drivers in handle_bus_relations().

Alexandre Julliard julliard at winehq.org
Mon Dec 24 14:35:00 CST 2018


Module: wine
Branch: master
Commit: d498780294c635f67aee823bc030151a6b75bee4
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=d498780294c635f67aee823bc030151a6b75bee4

Author: Zebediah Figura <z.figura12 at gmail.com>
Date:   Fri Dec 21 17:28:47 2018 -0600

ntoskrnl.exe: Handle already-loaded drivers in handle_bus_relations().

Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/ntoskrnl.exe/ntoskrnl.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
index 88ec372..48b309f 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
@@ -3756,7 +3756,10 @@ static void handle_bus_relations( DEVICE_OBJECT *device )
     strcpyW( buffer, servicesW );
     strcatW( buffer, driver );
     RtlInitUnicodeString( &string, buffer );
-    if (ZwLoadDriver( &string ) != STATUS_SUCCESS)
+    status = ZwLoadDriver( &string );
+    if (status == STATUS_IMAGE_ALREADY_LOADED)
+        return;
+    else if (status != STATUS_SUCCESS)
     {
         ERR_(plugplay)( "Failed to load driver %s\n", debugstr_w(driver) );
         return;




More information about the wine-cvs mailing list