[ros-diffs] [hpoussin] 33577: Forward all IRPs, even unknown ones

hpoussin at svn.reactos.org hpoussin at svn.reactos.org
Sun May 18 13:45:26 CEST 2008


Author: hpoussin
Date: Sun May 18 06:45:26 2008
New Revision: 33577

URL: http://svn.reactos.org/svn/reactos?rev=33577&view=rev
Log:
Forward all IRPs, even unknown ones

Modified:
    trunk/reactos/drivers/serial/serenum/serenum.c

Modified: trunk/reactos/drivers/serial/serenum/serenum.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/serial/serenum/serenum.c?rev=33577&r1=33576&r2=33577&view=diff
==============================================================================
--- trunk/reactos/drivers/serial/serenum/serenum.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/serial/serenum/serenum.c [iso-8859-1] Sun May 18 06:45:26 2008
@@ -37,55 +37,16 @@
 	IN PDEVICE_OBJECT DeviceObject,
 	IN PIRP Irp)
 {
-	NTSTATUS Status = STATUS_NOT_SUPPORTED;
-
 	if (((PCOMMON_DEVICE_EXTENSION)DeviceObject->DeviceExtension)->IsFDO)
 	{
-		/* Forward some IRPs to lower device */
-		switch (IoGetCurrentIrpStackLocation(Irp)->MajorFunction)
-		{
-			case IRP_MJ_CREATE:
-			case IRP_MJ_CLOSE:
-			case IRP_MJ_CLEANUP:
-			case IRP_MJ_QUERY_INFORMATION:
-			case IRP_MJ_READ:
-			case IRP_MJ_WRITE:
-			case IRP_MJ_DEVICE_CONTROL:
-				return ForwardIrpToLowerDeviceAndForget(DeviceObject, Irp);
-			default:
-			{
-				WARN_(SERENUM, "FDO stub for major function 0x%lx\n",
-					IoGetCurrentIrpStackLocation(Irp)->MajorFunction);
-				ASSERT(FALSE);
-				return ForwardIrpToLowerDeviceAndForget(DeviceObject, Irp);
-			}
-		}
+		/* Forward IRPs to lower device */
+		return ForwardIrpToLowerDeviceAndForget(DeviceObject, Irp);
 	}
 	else
 	{
-		/* Forward some IRPs to attached FDO */
-		switch (IoGetCurrentIrpStackLocation(Irp)->MajorFunction)
-		{
-			case IRP_MJ_CREATE:
-			case IRP_MJ_CLOSE:
-			case IRP_MJ_CLEANUP:
-			case IRP_MJ_READ:
-			case IRP_MJ_WRITE:
-			case IRP_MJ_DEVICE_CONTROL:
-				return ForwardIrpToAttachedFdoAndForget(DeviceObject, Irp);
-			default:
-			{
-				WARN_(SERENUM, "PDO stub for major function 0x%lx\n",
-					IoGetCurrentIrpStackLocation(Irp)->MajorFunction);
-				ASSERT(FALSE);
-				return ForwardIrpToAttachedFdoAndForget(DeviceObject, Irp);
-			}
-		}
+		/* Forward IRPs to attached FDO */
+		return ForwardIrpToAttachedFdoAndForget(DeviceObject, Irp);
 	}
-
-	Irp->IoStatus.Status = Status;
-	IoCompleteRequest(Irp, IO_NO_INCREMENT);
-	return Status;
 }
 
 /*



More information about the Ros-diffs mailing list