- Don't increase Irp->AssociatedIrp.IrpCount in IoMakeAssociatedIrp. The caller is...
authorFilip Navara <filip.navara@gmail.com>
Wed, 18 Aug 2004 02:24:02 +0000 (02:24 +0000)
committerFilip Navara <filip.navara@gmail.com>
Wed, 18 Aug 2004 02:24:02 +0000 (02:24 +0000)
- Don't unlock MDLs of associated Irps.

svn path=/trunk/; revision=10585

reactos/ntoskrnl/io/irp.c

index a8da07c..1a85b40 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: irp.c,v 1.65 2004/08/15 16:39:03 chorns Exp $
+/* $Id: irp.c,v 1.66 2004/08/18 02:24:02 navaraf Exp $
  *
  * COPYRIGHT:       See COPYING in the top level directory
  * PROJECT:         ReactOS kernel
@@ -123,6 +123,8 @@ IoMakeAssociatedIrp(PIRP Irp,
  *       Irp = Master irp
  *       StackSize = Number of stack locations to be allocated in the irp
  * RETURNS: The irp allocated
+ * NOTE: The caller is responsible for incrementing
+ *       Irp->AssociatedIrp.IrpCount.
  */
 {
    PIRP AssocIrp;
@@ -140,7 +142,6 @@ IoMakeAssociatedIrp(PIRP Irp,
 
    /* Associate them */
    AssocIrp->AssociatedIrp.MasterIrp = Irp;
-   InterlockedIncrement(&Irp->AssociatedIrp.IrpCount);
  
    return AssocIrp;
 }
@@ -364,7 +365,6 @@ IofCompleteRequest(PIRP Irp,
       while ((Mdl = Irp->MdlAddress))
       {
          Irp->MdlAddress = Mdl->Next;
-         MmUnlockPages(Mdl);
          IoFreeMdl(Mdl);
       }
       IoFreeIrp(Irp);
@@ -555,7 +555,7 @@ IoEnqueueIrp(IN PIRP Irp)
 VOID STDCALL
 IoSetTopLevelIrp(IN PIRP Irp)
 {
-  PETHREAD Thread;
+    PETHREAD Thread;
 
     Thread = PsGetCurrentThread();
     Thread->TopLevelIrp = Irp;