add some asserts
[reactos.git] / reactos / ntoskrnl / io / mdl.c
index 85d470f..b4b423f 100644 (file)
@@ -4,9 +4,8 @@
  * PROJECT:         ReactOS kernel
  * FILE:            ntoskrnl/io/mdl.c
  * PURPOSE:         Io manager mdl functions
- * PROGRAMMER:      David Welch (welch@mcmail.com)
- * UPDATE HISTORY:
- *                  Created 22/05/98
+ *
+ * PROGRAMMERS:     David Welch (welch@mcmail.com)
  */
 
 /* INCLUDES *****************************************************************/
@@ -33,7 +32,7 @@ IoAllocateMdl(PVOID VirtualAddress,
                   PIRP Irp)
 {
    PMDL Mdl;
-   
+
    if (ChargeQuota)
      {
 //     Mdl = ExAllocatePoolWithQuota(NonPagedPool,
@@ -49,27 +48,27 @@ IoAllocateMdl(PVOID VirtualAddress,
                                    TAG_MDL);
      }
    MmInitializeMdl(Mdl, (char*)VirtualAddress, Length);
-   
+
    if (Irp)
    {
       if (SecondaryBuffer)
       {
          ASSERT(Irp->MdlAddress);
-         
+
          /* FIXME: add to end of list maybe?? */
          Mdl->Next = Irp->MdlAddress->Next;
          Irp->MdlAddress->Next = Mdl;
       }
       else
       {
-         /* 
+         /*
           * What if there's allready an mdl at Irp->MdlAddress?
           * Is that bad and should we do something about it?
           */
          Irp->MdlAddress = Mdl;
       }
    }
-   
+
    return(Mdl);
 }
 
@@ -123,13 +122,16 @@ IoBuildPartialMdl(PMDL SourceMdl,
  */
 VOID STDCALL
 IoFreeMdl(PMDL Mdl)
-{   
-   /* 
+{
+   /*
     * This unmaps partial mdl's from kernel space but also asserts that non-partial
     * mdl's isn't still mapped into kernel space.
     */
+   ASSERT(Mdl);
+   ASSERT_IRQL(DISPATCH_LEVEL);
+
    MmPrepareMdlForReuse(Mdl);
-   
+
    ExFreePool(Mdl);
 }