Author: tfaber
Date: Wed Jul 20 12:21:11 2016
New Revision: 71973

URL: http://svn.reactos.org/svn/reactos?rev=71973&view=rev
Log:
[PARPORT]
- Properly stub FdoPower and PdoPower
CORE-11648

Modified:
    trunk/reactos/drivers/parallel/parport/fdo.c
    trunk/reactos/drivers/parallel/parport/pdo.c

Modified: trunk/reactos/drivers/parallel/parport/fdo.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/parallel/parport/fdo.c?rev=71973&r1=71972&r2=71973&view=diff
==============================================================================
--- trunk/reactos/drivers/parallel/parport/fdo.c        [iso-8859-1] (original)
+++ trunk/reactos/drivers/parallel/parport/fdo.c        [iso-8859-1] Wed Jul 20 
12:21:11 2016
@@ -600,13 +600,14 @@
 FdoPower(IN PDEVICE_OBJECT DeviceObject,
          IN PIRP Irp)
 {
+    PDEVICE_OBJECT LowerDevice;
+
     DPRINT("FdoPower()\n");
 
-    Irp->IoStatus.Information = 0;
-    Irp->IoStatus.Status = STATUS_SUCCESS;
-    IoCompleteRequest(Irp, IO_NO_INCREMENT);
-
-    return STATUS_SUCCESS;
+    LowerDevice = 
((PFDO_DEVICE_EXTENSION)DeviceObject->DeviceExtension)->LowerDevice;
+    PoStartNextPowerIrp(Irp);
+    IoSkipCurrentIrpStackLocation(Irp);
+    return PoCallDriver(LowerDevice, Irp);;
 }
 
 /* EOF */

Modified: trunk/reactos/drivers/parallel/parport/pdo.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/parallel/parport/pdo.c?rev=71973&r1=71972&r2=71973&view=diff
==============================================================================
--- trunk/reactos/drivers/parallel/parport/pdo.c        [iso-8859-1] (original)
+++ trunk/reactos/drivers/parallel/parport/pdo.c        [iso-8859-1] Wed Jul 20 
12:21:11 2016
@@ -175,12 +175,25 @@
 PdoPower(IN PDEVICE_OBJECT DeviceObject,
          IN PIRP Irp)
 {
+    NTSTATUS Status;
+    PIO_STACK_LOCATION IoStack;
+
     DPRINT("PdoPower()\n");
 
-    Irp->IoStatus.Information = 0;
-    Irp->IoStatus.Status = STATUS_SUCCESS;
+    IoStack = IoGetCurrentIrpStackLocation(Irp);
+
+    switch (IoStack->MinorFunction)
+    {
+        case IRP_MN_SET_POWER:
+        case IRP_MN_QUERY_POWER:
+            Irp->IoStatus.Status = STATUS_SUCCESS;
+            break;
+    }
+
+    Status = Irp->IoStatus.Status;
+    PoStartNextPowerIrp(Irp);
     IoCompleteRequest(Irp, IO_NO_INCREMENT);
-    return STATUS_SUCCESS;
+    return Status;
 }
 
 /* EOF */


Reply via email to