Author: tfaber
Date: Fri Sep  4 21:30:16 2015
New Revision: 69013

URL: http://svn.reactos.org/svn/reactos?rev=69013&view=rev
Log:
[NTOS:WMI][HAL]
- Properly stub WmipShutdown and HalpDispatchPower to avoid IRP leaks
CORE-10105

Modified:
    trunk/reactos/hal/halx86/legacy/halpnpdd.c

Modified: trunk/reactos/hal/halx86/legacy/halpnpdd.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/hal/halx86/legacy/halpnpdd.c?rev=69013&r1=69012&r2=69013&view=diff
==============================================================================
--- trunk/reactos/hal/halx86/legacy/halpnpdd.c  [iso-8859-1] (original)
+++ trunk/reactos/hal/halx86/legacy/halpnpdd.c  [iso-8859-1] Fri Sep  4 
21:30:16 2015
@@ -820,8 +820,23 @@
 HalpDispatchPower(IN PDEVICE_OBJECT DeviceObject,
                   IN PIRP Irp)
 {
+    PFDO_EXTENSION FdoExtension;
+    
     DPRINT1("HAL: PnP Driver Power!\n");
-    return STATUS_SUCCESS;
+    FdoExtension = DeviceObject->DeviceExtension;
+    if (FdoExtension->ExtensionType == FdoExtensionType)
+    {
+        PoStartNextPowerIrp(Irp);
+        IoSkipCurrentIrpStackLocation(Irp);
+        return PoCallDriver(FdoExtension->AttachedDeviceObject, Irp);
+    }
+    else
+    {
+        PoStartNextPowerIrp(Irp);
+        Irp->IoStatus.Status = STATUS_SUCCESS;
+        IoCompleteRequest(Irp, IO_NO_INCREMENT);
+        return STATUS_SUCCESS;
+    }
 }
 
 NTSTATUS


Reply via email to