- Check that all pins have been closed when the last filter reference is gone
[reactos.git] / reactos / drivers / wdm / audio / backpln / portcls / irpstream.c
index 4f15fb2..64047a6 100644 (file)
@@ -300,11 +300,12 @@ IIrpQueue_fnUpdateMapping(
          */
         This->Irp->IoStatus.Information = StreamHeader->FrameExtent;
 
-        /* free stream data, no tag as wdmaud.drv does it atm */
-        //ExFreePool(StreamHeader->Data);
-
-        /* free stream header, no tag as wdmaud.drv allocates it atm */
-        //ExFreePool(StreamHeader);
+        if (This->Irp->RequestorMode != KernelMode)
+        {
+            /* HACK - WDMAUD should pass PKSSTREAM_HEADERs */
+            ExFreePool(StreamHeader->Data);
+            ExFreePool(StreamHeader);
+        }
 
         /* complete the request */
         IoCompleteRequest(This->Irp, IO_SOUND_INCREMENT);